-- Extreme Networks ExtremeXOS 12.0.2.25 Proprietary MIB


-- ################################################################################

EXTREME-BASE-MIB DEFINITIONS ::= BEGIN

    IMPORTS
    enterprises            FROM RFC1155-SMI
    TEXTUAL-CONVENTION     FROM SNMPv2-TC
    MODULE-IDENTITY        FROM SNMPv2-SMI;



    --  Organization & Product branches
    extremenetworks MODULE-IDENTITY
                LAST-UPDATED "0211230000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Wireless Access Tables"
        ::= { enterprises 1916 }

    
    extremeV1Traps            OBJECT IDENTIFIER ::= { extremenetworks 0 }
    extremeAgent           OBJECT IDENTIFIER ::= { extremenetworks 1 }
    extremeProduct         OBJECT IDENTIFIER ::= { extremenetworks 2 }
    extremeMisc            OBJECT IDENTIFIER ::= { extremenetworks 3 }
    extremeV2Traps         OBJECT IDENTIFIER ::= { extremenetworks 4 } 

    --
    -- Extreme Products
    --    
    summit1                OBJECT IDENTIFIER ::= { extremeProduct 1 }
                           -- 8 x 1Gbps

    summit2                OBJECT IDENTIFIER ::= { extremeProduct 2 }
                           -- 2 x 1Gbps, 16 x 10/100Mbps

    summit3                OBJECT IDENTIFIER ::= { extremeProduct 3 }
                           -- 1 x 1Gbps, 24 x 10/100Mbps

    summit4                OBJECT IDENTIFIER ::= { extremeProduct 4 }
                           -- 6 x 1Gbps, 16 x 10/100Mbps UTP

    summit4fx              OBJECT IDENTIFIER ::= { extremeProduct 5 }
                           -- 6 x 1Gbps, 16 x 10/100Mbps fiber FX

    summit48               OBJECT IDENTIFIER ::= { extremeProduct 6 }
                           -- 2 x 1Gbps, 48 x 10/100Mbps

    summit24               OBJECT IDENTIFIER ::= { extremeProduct 7 }
                           -- 1 x 1Gbps, 24 x 10/100Mbps

    blackDiamond6800       OBJECT IDENTIFIER ::= { extremeProduct 8 }
                           -- chassis based system with dual msm and 8 switching cards

    blackDiamond6808       OBJECT IDENTIFIER ::= { extremeProduct 11 }
                           -- black diamond with the inferno chipset aka MSM64

    summit7iSX             OBJECT IDENTIFIER ::= { extremeProduct 12 }
                           -- 4 x 1Gbps GBIC, 28 x 1Gbps MT-RJ

    summit7iTX             OBJECT IDENTIFIER ::= { extremeProduct 13 }
                           -- 4 x 1Gbps GBIC, 28 x 10/100/1000 Base-TX

    summit1iTX             OBJECT IDENTIFIER ::= { extremeProduct 14 }
                           -- 2 x 1Gbps MT-RJ, 6 x 10/100/1000 Base-TX inferno chipset

    summit5i               OBJECT IDENTIFIER ::= { extremeProduct 15 }
                           -- 4 x 1Gbps GBIC, 12 x 1Gbps MT-RJ inferno chipset

    summit48i              OBJECT IDENTIFIER ::= { extremeProduct 16 }
                           -- 2 x 1Gbps GBIC, 48 x 10/100Mbps inferno chipset

    alpine3808             OBJECT IDENTIFIER ::= { extremeProduct 17 }
                           -- mini chassis based on the inferno chipset with 8 switching cards

    summit1iSX             OBJECT IDENTIFIER ::= { extremeProduct 19 }
                           -- 2 x 1Gbps GBIC, 6 x 1Gbps MT-RJ inferno chipset

    alpine3804             OBJECT IDENTIFIER ::= { extremeProduct 20 }
                           -- mini chassis based on the inferno chipset with 4 switching cards

    summit5iLX             OBJECT IDENTIFIER ::= { extremeProduct 21 }
                           -- 4 x 1Gbps GBIC, 12 x 10/100/1000 Base-TX inferno chipset

    summit5iTX             OBJECT IDENTIFIER ::= { extremeProduct 22 }
                           -- 4 x 1Gbps GBIC, 12 x 10/100/1000 Base-TX inferno chipset

    enetSwitch24Port       OBJECT IDENTIFIER ::= { extremeProduct 23 }
                           --  24 x 10/100 Mbps  

    blackDiamond6816       OBJECT IDENTIFIER ::= { extremeProduct 24 }
                           -- black diamond with 4 msm's and 16 switching cards

    summit24e3             OBJECT IDENTIFIER ::= { extremeProduct 25 }
                           -- 2 x 1Gbps GBIC, 24 x 10/100 Base-TX

    alpine3802             OBJECT IDENTIFIER ::= { extremeProduct 26 }
                           -- mini chassis based on the inferno chipset with 2-3 switching cards

    blackDiamond6804       OBJECT IDENTIFIER ::= { extremeProduct 27 }
                           -- chassis based system with 2 msm's and 4 switching cards

    summit48si             OBJECT IDENTIFIER ::= { extremeProduct 28 }
                           -- 2 x 1Gbps GBIC, 48 x 10/100Mbps, 1u
            
    summitPx1              OBJECT IDENTIFIER ::= { extremeProduct 30 }
                           --    1 x 1Gbps GBIC

    summit24e2TX           OBJECT IDENTIFIER ::= { extremeProduct 40 }
                           --  2 x 1000Base-T, 24 x 10/100 Base-TX

    summit24e2SX           OBJECT IDENTIFIER ::= { extremeProduct 41 }
                           --  2 x 1Gbps GBIC, 24 x 10/100 Base-SX

    summit200-24           OBJECT IDENTIFIER ::= { extremeProduct 53 }
                           --  2 x 1Gbps GBIC, 24 x 10/100 Base-TX

    summit200-48           OBJECT IDENTIFIER ::= { extremeProduct 54 }
                           --  2 x 1Gbps GBIC, 48 x 10/100 Base-TX

    summit300-48           OBJECT IDENTIFIER ::= { extremeProduct 55 }
                           --  2 x 1Gbps GBIC, 48 x 10/100 Base-TX POE

    bd10808                OBJECT IDENTIFIER ::= { extremeProduct 56 }
                           -- BlackDiamond 10808 Chassis
 
    summit400-48t          OBJECT IDENTIFIER ::= { extremeProduct 58 }
                           --  4 x 1Gbps fiber/copper, 44 x 1000 Base-T
 
    summit300-24           OBJECT IDENTIFIER ::= { extremeProduct 61 }
                           --  2 x 1Gbps GBIC, 24 x 10/100 Base-TX POE

    bd8810                 OBJECT IDENTIFIER ::= { extremeProduct 62 }
                           --  BlackDiamond 8810 Chassis

    summit400-24t           OBJECT IDENTIFIER ::= { extremeProduct 63 }
                           --  4 x 1Gbps fiber/copper, 20 x 1Gbps fiber

    summit400-24p           OBJECT IDENTIFIER ::= { extremeProduct 64 }
                           --  4 x 1Gbps fiber/copper, 20 x 1Gbps fiber

    summitX450-24x   OBJECT IDENTIFIER ::= { extremeProduct 65 }
                           --  4 x 1Gbps fiber/copper, 20 x 1Gbps fiber, 2 x 10G uplink
                  
    summitX450-24t   OBJECT IDENTIFIER ::= { extremeProduct 66 }
                           --  4 x 1Gbps fiber/copper, 20 x 1000 Base-T, 2 x 10G uplink
                  
    summitStack            OBJECT IDENTIFIER ::= { extremeProduct 67 }
                           -- A stacked version of the Summit 200/300/4000

    summitWM100            OBJECT IDENTIFIER ::= { extremeProduct 68 }
                           -- The FlightPath wireless controller with 10/100 ports

    summitWM1000           OBJECT IDENTIFIER ::= { extremeProduct 69 }
                           -- The FlightPath wireless controller with 1 gig ports

    summit200-24fx         OBJECT IDENTIFIER ::= { extremeProduct 70 }
                           -- 24 100FX fiber ports + 2 combo Gig uplink ports

        
    summitX450a-24t        OBJECT IDENTIFIER ::= { extremeProduct 71 }
                           -- 24 combo ports + 2 optional 10 gig ports + 
                           -- 4 combo ports + 2 stacking ports

    summitX450e-24p        OBJECT IDENTIFIER ::= { extremeProduct 72 }
                           -- PoE version of summitX450e-24p 



    bd8806                 OBJECT IDENTIFIER ::= { extremeProduct 74 }
                           -- Black Diamond 8800 6 slot chassis

    altitude350            OBJECT IDENTIFIER ::= {extremeProduct 75 }
                           -- The altitude 350 product

    summitX450a-48t        OBJECT IDENTIFIER ::= {extremeProduct 76 }


    bd12804                OBJECT IDENTIFIER ::= {extremeProduct 77 }
                           -- Olympic Chassis 


    summitX450e-48p   OBJECT IDENTIFIER ::= { extremeProduct 79 }
                           -- PoE version of the 48T 

    summitX450a-24tDC   OBJECT IDENTIFIER ::= { extremeProduct 80 }
                           -- Jaguar 24T but with DC power supply


--    summitX450a-24t   OBJECT IDENTIFIER ::= { extremeProduct 81 }
                      -- Jaguar 24t

    summitX450a-24xDC   OBJECT IDENTIFIER ::= { extremeProduct 82 }
                      -- Jaguar 24x but with DC power supply

    sentriantCE150   OBJECT IDENTIFIER ::= { extremeProduct 83 }

                                    -- sentriantCE150, this is security appliance.  


    summitX450a-24x   OBJECT IDENTIFIER ::= { extremeProduct 84 }
                                    --  4 x 1Gbps fiber/copper, 20 x 1Gbps fiber, 2 x 10G uplink


    bd12802   OBJECT IDENTIFIER ::= { extremeProduct 85 }
                                    -- 3-slot chassis, 1 MSM 2 IO modules


     altitude300 OBJECT IDENTIFIER ::= { extremeProduct 86 }
                                -- altitude300 is the access point box. 


     summitX450a-48tDC   OBJECT IDENTIFIER ::= { extremeProduct 87 }
                           -- Jaguar 48T but with DC power supply


     summitX250-24t     OBJECT IDENTIFIER ::= { extremeProduct 88 }

                           -- Panther: 24 10/100 copper ports, 2 100M fiber combo ports, 2 x 1G uplink option module

 

     summitX250-24p     OBJECT IDENTIFIER ::= { extremeProduct 89 }

                           -- PoE version of the summitX250-24t

 

     summitX250-24x     OBJECT IDENTIFIER ::= { extremeProduct 90 }

                           -- Panther: 24 SFP 100M fiber ports, 2 10/100 copper combo ports, 2 x 1G uplink option module

   

     summitX250-48t     OBJECT IDENTIFIER ::= { extremeProduct 91 }

                           -- Panther: 48 10/100 copper ports, 2 100M fiber combo ports, 2 x 1G uplink option module

 

     summitX250-48p     OBJECT IDENTIFIER ::= { extremeProduct 92 }

                           -- PoE version of the summitX250-48t

    summitVer2Stack     OBJECT IDENTIFIER ::= { extremeProduct 93 }
                           -- A stacked version of the EXOS Summit X450's, X250's


    summitWM200 OBJECT IDENTIFIER ::= { extremeProduct 94 }

    summitWM2000 OBJECT IDENTIFIER ::= { extremeProduct 95 }


 
 
 
    --
    -- Assorted OIDs that are pointed to by other MIBs 
    --
    extremeOids
         OBJECT IDENTIFIER ::= { extremeMisc 1 }

   --
   -- OIDs for as-yet-unstandardised 802.3 MAU types
   --     (see MAU MIB for usage)
   --
    extremeMauType
         OBJECT IDENTIFIER ::= { extremeOids 1 }

     extremeMauType1000BaseSX OBJECT IDENTIFIER
     ::= { extremeMauType 1 }
         -- "X fiber over short-wavelength laser PMD as specified
         -- in clause 38, duplex mode unknown"

     extremeMauType1000BaseLX OBJECT IDENTIFIER
     ::= { extremeMauType 2 }
         -- "X fiber over long-wavelength laser PMD as specified
         -- in clause 38, duplex mode unknown"

     extremeMauType1000BaseCX OBJECT IDENTIFIER
     ::= { extremeMauType 3 }
         -- "X copper over 150-ohm balanced cable PMD as specified
         -- in clause 39, duplex mode unknown"

     extremeMauType1000BaseSXFD OBJECT IDENTIFIER
     ::= { extremeMauType 4 }
         -- "X fiber over short-wavelength laser PMD as specified
         -- in clause 38, full-duplex mode"

     extremeMauType1000BaseLXFD OBJECT IDENTIFIER
     ::= { extremeMauType 5 }
         -- "X fiber over long-wavelength laser PMD as specified
         -- in clause 38, full-duplex mode"

     extremeMauType1000BaseCXFD OBJECT IDENTIFIER
     ::= { extremeMauType 6 }
         -- "X copper over 150-ohm balanced cable PMD as specified
         -- in clause 39, full-duplex mode"

     extremeMauType1000BaseWDMHD OBJECT IDENTIFIER
     ::= { extremeMauType 7 }
         -- "Gigabit WDM, half duplex"

     extremeMauType1000BaseWDMFD OBJECT IDENTIFIER
     ::= { extremeMauType 8 }
         -- "Gigabit WDM, full duplex"

     extremeMauType1000BaseLX70HD OBJECT IDENTIFIER
     ::= { extremeMauType 9 }
         -- "Gigabit LX70, half duplex"

     extremeMauType1000BaseLX70FD OBJECT IDENTIFIER
     ::= { extremeMauType 10 }
         -- "Gigabit LX70, full duplex"

     extremeMauType1000BaseZXHD OBJECT IDENTIFIER
     ::= { extremeMauType 11 }
         -- "Gigabit ZX, half duplex"

     extremeMauType1000BaseZXFD OBJECT IDENTIFIER
     ::= { extremeMauType 12 }
         -- "Gigabit ZX, full duplex"

     extremeMauType1000BaseLX100HD OBJECT IDENTIFIER
     ::= { extremeMauType 13 }
         -- "Gigabit LX100, half duplex"

     extremeMauType1000BaseLX100FD OBJECT IDENTIFIER
     ::= { extremeMauType 14 }
         -- "Gigabit LX100, full duplex"

     extremeMauType10GBaseCX4 OBJECT IDENTIFIER
     ::= { extremeMauType 15 }
         -- "10 Gigabit CX4"

     extremeMauType10GBaseZR OBJECT IDENTIFIER
     ::= { extremeMauType 16 }
         -- "10 Gigabit ZR"


    -- ===============================================================================

    --
    -- Extreme MIB Objects
    --
    extremeSystem          OBJECT IDENTIFIER ::= { extremeAgent 1 }
    extremeVlan            OBJECT IDENTIFIER ::= { extremeAgent 2 }
    extremeQos             OBJECT IDENTIFIER ::= { extremeAgent 3 }
    extremePort            OBJECT IDENTIFIER ::= { extremeAgent 4 }
    extremeVC              OBJECT IDENTIFIER ::= { extremeAgent 5 }
    extremeTrapPoll        OBJECT IDENTIFIER ::= { extremeAgent 6 }
    extremeQosPolicy       OBJECT IDENTIFIER ::= { extremeAgent 7 }
    extremeDlcs            OBJECT IDENTIFIER ::= { extremeAgent 8 }
    extremeFileTransfer    OBJECT IDENTIFIER ::= { extremeAgent 10 }
    extremeRtStats         OBJECT IDENTIFIER ::= { extremeAgent 11 }
    extremeEsrp            OBJECT IDENTIFIER ::= { extremeAgent 12 }
    extremeEdp             OBJECT IDENTIFIER ::= { extremeAgent 13 }
    extremeSlb             OBJECT IDENTIFIER ::= { extremeAgent 14 }
    extremeOspf            OBJECT IDENTIFIER ::= { extremeAgent 15 }
    extremeFdb             OBJECT IDENTIFIER ::= { extremeAgent 16 }
    extremeStp             OBJECT IDENTIFIER ::= { extremeAgent 17 }
    extremePOSMib          OBJECT IDENTIFIER ::= { extremeAgent 20 }
    extremeNPMib           OBJECT IDENTIFIER ::= { extremeAgent 21 }
    extremeNetFlow         OBJECT IDENTIFIER ::= { extremeAgent 22 }
    extremeSnmpv3          OBJECT IDENTIFIER ::= { extremeAgent 23 }
    extremeCable           OBJECT IDENTIFIER ::= { extremeAgent 24 }
    extremeWireless        OBJECT IDENTIFIER ::= { extremeAgent 25 }
    extremeDosMib          OBJECT IDENTIFIER ::= { extremeAgent 28 }
    extremeEnhDosMib       OBJECT IDENTIFIER ::= { extremeAgent 29 }
    extremeAP              OBJECT IDENTIFIER ::= { extremeWireless 1 }
    extremeLAC             OBJECT IDENTIFIER ::= { extremeWireless 2 }
    extremeEntity          OBJECT IDENTIFIER ::= { extremeAgent 31 }
    extremeSwMonitor       OBJECT IDENTIFIER ::= { extremeAgent 32 }
    extremeStackable       OBJECT IDENTIFIER ::= { extremeAgent 33 }
    extremeIpSecurity      OBJECT IDENTIFIER ::= { extremeAgent 34 }

    PortList ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
            "Each octet within this value specifies a set of eight
            ports, with the first octet specifying ports 1 through
            8, the second octet specifying ports 9 through 16, etc.
            Within each octet, the most significant bit represents
            the lowest numbered port, and the least significant bit
            represents the highest numbered port.  Thus, each port
            of the bridge is represented by a single bit within the
            value of this object.  If that bit has a value of '1'
            then that port is included in the set of ports; the port
            is not included if its bit has a value of '0'. If the
            object has a length of 0 then it is taken to refer to all
            of the ports in a given device."
        SYNTAX      OCTET STRING

    L4Port ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
            "The value of a transport layer (layer-4) port number, in network
            byte order. A value of 0 indicates all allowed values of this 
            field i.e. wildcard."
        SYNTAX  INTEGER (0|1..65535)

    ExtremeGenAddr ::= TEXTUAL-CONVENTION
         STATUS      current
         DESCRIPTION
             "The value of an address."
         SYNTAX      OCTET STRING (SIZE (0..20))

    ExtremeDeviceId ::= TEXTUAL-CONVENTION
         STATUS      current
         DESCRIPTION
             "The switch identifier used by Extreme EDP protocol."
         SYNTAX      OCTET STRING (SIZE (8))

WPACipherSet ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "A set of supported ciphers which can be advertised
                 by WPA stations.  Each set bit indicates support for
                 a given cipher suite.  The special value none is 
                 allowed for representing the absence of information.
                 The value other is used to indicate an unknown cipher."
        SYNTAX BITS {
                none(0),
                wep64(1),
                tkip(2),
                wrap(3),
                ccmp(4),
                wep128(5),
                other(6) }

WPAKeyMgmtSet ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
                "A set of supported key management suites.  For more info
                 see IEEE 802.11i D3.0 section 7."
        SYNTAX BITS {
                none(0),
                dot1x(1),
                psk(2)
        }

ClientAuthType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION "Type of client specified in the netlogin traps as well as the client table. For
                        wired clients, only none, netlogin and dot1x are valid"
        SYNTAX INTEGER {
                          none(0),         
                          open(1),
                          wep(2),
                          mac-based(3),
                          dot1x(4),
                          wpa-psk(5),
                          web-based (6),
                          wpa2(7),
                          wpa(8),
                          wpa2-psk(9)}

WirelessRemoteConnectBindingType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION "The type of binding to be used when mapping APs to virtual ports"
SYNTAX INTEGER { 
    none(0),
    mac-address(1),
    serial-number(2),
    ip-address(3)}

END

-- ################################################################################

EXTREME-SYSTEM-MIB DEFINITIONS ::= BEGIN

    IMPORTS
    TEXTUAL-CONVENTION FROM SNMPv2-TC
    NOTIFICATION-TYPE  FROM SNMPv2-SMI
    MODULE-IDENTITY FROM SNMPv2-SMI
    OBJECT-TYPE     FROM SNMPv2-SMI
    Integer32, Unsigned32      FROM SNMPv2-SMI
    TruthValue      FROM SNMPv2-TC
    DisplayString   FROM RFC1213-MIB
    extremeAgent    FROM EXTREME-BASE-MIB
    PortList        FROM EXTREME-BASE-MIB
                  sysDescr,sysUpTime, ifDescr         FROM RFC1213-MIB  
    IpAddress       FROM SNMPv2-SMI;

    extremeSystem MODULE-IDENTITY
        LAST-UPDATED "200503220000Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Extreme System objects: objects common to all platforms"
    ::= { extremeAgent 1 }

    SlotType ::= TEXTUAL-CONVENTION 
          STATUS        current
          DESCRIPTION
                "The type of the slot. It is used both for the configured
                 as well as the inserted slot types."
          SYNTAX INTEGER    {
            none(1),
            fe32(2),
            g4x(3),
            g6x(4),
            fe32fx(5),
            msm(6),
            f48ti(7),
            g8xi(8),
            g8ti(9),
            g12sxi(10),
            g12ti(11),
            msm64i(18),
            alpine3808(19),
            alpine3804(20),
            fm32t(21),
            gm4x(22),
            gm4sx(23),
            gm4t(24),
            wdm8(25),
            fm24f(26),
            fm24sf(27),
            fm24te(28),
            f96ti(29),
            wdm4(30),
            f32fi(31),
            tenGx3(32),
            tenGigLR(33),
            g16x3(34),
            g24t3(35),
            gm16x3(36),
            gm16t3(37),
            fm16t3(38),
            fm32p(39),
            fm8v(50), -- vdsl blade
            wm4t1(51), -- 4port t1
            wm4t3(52), -- 4port t3
            wm1t3(53), -- 1port t3
            wm4e1(54),  -- 4port e1
            alpine3802(55),
            p3c(101),
            p12c(102),
            arm(103),
            mpls(104),
            sma(105),
            p48c(106),
            a3c(107),
            a12c(108),
            pxm(200),
            s300fixed(201),
                msm3(202),
                msm1(203),
                msm1xl(204),
            s300expansion(301),
            g60t(400),
            g60x(401),
            teng6x(402),
            msmG8x(414),
            g48T(416),
            g48P(417),
            tenG4X(419),
            tenG2X(420),
            g20X(421),
            tenG2XH(422),
            g48te(433),
            g48ta(434),
            g48pe(435),
            g48x(437)
            
        }

    PowerValue ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION   "The input power value of the switch."
        SYNTAX  INTEGER {
            v110 (1),
            v220 (2),
            v48DC (3),
            unknown(4)
        }

    extremeSystemCommon OBJECT IDENTIFIER
    ::= { extremeSystem 1 }

--
--  System group
--
--  Objects common to all platforms
--
--  Configuration save objects.  These objects are used by the network
--  management application to save configuration changes into the
--  persistant store.  There are 2 stores on the device; a primary and
--  a secondary.

    extremeSaveConfiguration OBJECT-TYPE
        SYNTAX INTEGER {
            saveToPrimary(1),
            saveToSecondary(2),
                        saveToCurrent(3),
                        factoryDefault(4)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "When this object is set, the device will copy the contents
            of the configuration database to a buffer and save it to the 
            persistant store specified by the value of the object.  The 
            save is    performed asynchronously, and the snmp agent will
            continue to respond to both gets and sets while the save is
            taking place.  A network management application may use the
            extremeSaveStatus object to determine when the asynchronous
            save operation has completed."
    ::= { extremeSystemCommon 3 }

    extremeSaveStatus OBJECT-TYPE
                SYNTAX INTEGER { saveInProgress(1), saveNotInProgress(2), saveNotReady(3) }
        MAX-ACCESS    read-only
        STATUS current
        DESCRIPTION
            "This object will return the status of a save operation invoked
            by setting the extremeSaveConfiguration object.  A network
            management application can read this object to determine that a
            save operation has completed."
    ::= { extremeSystemCommon 4 }                

    extremeCurrentConfigInUse OBJECT-TYPE
                SYNTAX INTEGER { 
                    primary(1),
                    secondary(2),
                    other(3),
                    factoryDefault(4)
                }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Shows which NVRAM configuration store was used at last boot"
    ::= { extremeSystemCommon 5 }                

    extremeConfigToUseOnReboot OBJECT-TYPE
                SYNTAX INTEGER {
                    primary(1),
                    secondary(2),
                    other(3)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Controls which NVRAM configuration store will be used 
            on next reboot."
    ::= { extremeSystemCommon 6 }               
 
    extremeOverTemperatureAlarm OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Alarm status of overtemperature sensor in device 
            enclosure."
    ::= { extremeSystemCommon 7 }

    extremeCurrentTemperature OBJECT-TYPE
        SYNTAX INTEGER (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Current temperature in degrees celcius measured inside
            device enclosure."
    ::= { extremeSystemCommon 8 }

    --
    -- Table of operational status of all internal Fans
    --
    extremeFanStatusTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeFanStatusEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Table of operational status of all internal cooling fans."
    ::= { extremeSystemCommon 9 }

    extremeFanStatusEntry OBJECT-TYPE
        SYNTAX  ExtremeFanStatusEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Entry in table of all internal cooling fans."
        INDEX { extremeFanNumber }
    ::= { extremeFanStatusTable 1 }

    ExtremeFanStatusEntry ::=
        SEQUENCE {
            extremeFanNumber Integer32,
            extremeFanOperational TruthValue,
            extremeFanEntPhysicalIndex  Integer32

        }

    extremeFanNumber OBJECT-TYPE
                SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Identifier of cooling fan, numbered from the front and/or 
            left side of device."
    ::= { extremeFanStatusEntry 1 }

    extremeFanOperational OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Operational status of a cooling fan."
    ::= { extremeFanStatusEntry 2 }              
    
    extremeFanEntPhysicalIndex OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The entity index for this fan entity in the entityPhysicalTable table of the
                entity MIB."
        ::= { extremeFanStatusEntry 3 }


    extremePrimaryPowerOperational OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Operational status of internal power supply of a device."
    ::= { extremeSystemCommon 10 }

    extremeRedundantPowerStatus OBJECT-TYPE
        SYNTAX INTEGER { notPresent(1), presentOK(2), presentNotOK(3) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Operational status of an external redundant power supply to a device."
    ::= { extremeSystemCommon 11 }

    extremeRedundantPowerAlarm OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Alarm state of an external redundant power supply to a device. 
            Alarm state indicates either fan failure or overtemperature 
            condition."
    ::= { extremeSystemCommon 12 }

    extremePrimarySoftwareRev  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..15))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The software revision of the primary image stored in 
            this device.  This string will have a zero length if 
            the revision is unknown, invalid or not present. This
            will also be reported in RMON2 probeSoftwareRev if this
            is the software image currently running in the device."
    ::= { extremeSystemCommon 13 }

    extremeSecondarySoftwareRev  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..15))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The software revision of the secondary image stored in 
            this device.  This string will have a zero length if 
            the revision is unknown, invalid or not present. This
            will also be reported in RMON2 probeSoftwareRev if this
            is the software image currently running in the device."
    ::= { extremeSystemCommon 14 }

        extremeImageToUseOnReboot OBJECT-TYPE
                SYNTAX INTEGER { primary(1), secondary(2) }
            MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
            "Controls which image will be used 
                on next reboot."
    ::= { extremeSystemCommon 15 }               

        extremeSystemID  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..126))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This represents the System ID of the Summit Switch."
    ::= { extremeSystemCommon 16 }

        extremeSystemBoardID  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..126))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This represents the Board ID of the Summit Switch."
    ::= { extremeSystemCommon 17 }

        extremeSystemLeftBoardID  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..126))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This represents the Left Board ID of the Summit Switch."
    ::= { extremeSystemCommon 18 }

        extremeSystemRightBoardID  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..126))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This represents the Right Board ID of the Summit Switch."
    ::= { extremeSystemCommon 19 }

    -- Add variables to report power supply data
    extremeInputPowerVoltage OBJECT-TYPE
        SYNTAX PowerValue
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The input power voltage at which the system is currently operating."
    ::= { extremeSystemCommon 20 }

        extremePowerStatus OBJECT-TYPE
                SYNTAX INTEGER { notPresent(1), presentOK(2), presentNotOK(3) }
            MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Operational status of the power supply to a device."
    ::= { extremeSystemCommon 21 }

        extremePowerAlarm OBJECT-TYPE
                SYNTAX TruthValue
            MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Alarm state of the power supply to a device. 
                Alarm state indicates either fan failure or overtemperature 
                condition."
    ::= { extremeSystemCommon 22 }

        extremeRmonEnable OBJECT-TYPE
                SYNTAX TruthValue
            MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                      "Setting this to true will cause the agent to 
               start collecting RMON statistics."
    ::= { extremeSystemCommon 23 }

-- OID extremeSystemCommon.24 has been deprecated and extremeCpuTasktable
-- has been moved to extremeSystemCommon.29 with new name extremeCpuTask2table

        extremeBootROMVersion OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..15))    
            MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
          "The software revision of the bootrom on the device. 
                   This string will have a zero length if the revision is 
                   unknown or invalid."
               
    ::= { extremeSystemCommon 25 }

        extremeDot1dTpFdbTableEnable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
         "Setting this to true will cause GetNext operations on               the dot1dTpFdbTable to be allowed. Note that Get operations               are always allowed."

    ::= { extremeSystemCommon 26 }

        extremePowerSupplyTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePowerSupplyEntry
        MAX-ACCESS  not-accessible
        STATUS current
                DESCRIPTION
                "Table of status of all power supplies in the system."
    ::= { extremeSystemCommon 27 }

        extremePowerSupplyEntry OBJECT-TYPE
        SYNTAX  ExtremePowerSupplyEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                "An entry indicating the status of a specific power supply."
        INDEX { extremePowerSupplyNumber }
    ::= { extremePowerSupplyTable 1 }

    ExtremePowerSupplyEntry ::=
        SEQUENCE {
            extremePowerSupplyNumber
                                Integer32,
            extremePowerSupplyStatus
                INTEGER,
            extremePowerSupplyInputVoltage
                                PowerValue,
            extremePowerSupplySerialNumber
                DisplayString,
            extremePowerSupplyEntPhysicalIndex 
                        Integer32
        }

    extremePowerSupplyNumber OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                    "Power supply number."
    ::= { extremePowerSupplyEntry 1 }

    extremePowerSupplyStatus OBJECT-TYPE
                SYNTAX INTEGER { notPresent(1), presentOK(2), presentNotOK(3) }
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                    "Status of the power supply."
    ::= { extremePowerSupplyEntry 2 }

     extremeCpuAggregateUtilization OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
                  "The aggregate CPU utilization since
                   the time the start started executing."
        ::= { extremeSystemCommon 28 }

        extremePowerSupplyInputVoltage OBJECT-TYPE
                SYNTAX PowerValue
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "Input voltage of the power supply"
        ::= { extremePowerSupplyEntry 3 }

    extremePowerSupplySerialNumber OBJECT-TYPE
                SYNTAX DisplayString (SIZE(0..126))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        " The serial number of the power supply unit."
    ::= { extremePowerSupplyEntry 4 }                                      
    
    extremePowerSupplyEntPhysicalIndex OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        " The entity index for this psu entity in the entityPhysicalTable
                of the entity MIB."
         ::= { extremePowerSupplyEntry 5 }

--
-- The CPU Task table lists all executing tasks 
--
        extremeCpuTask2Table OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeCpuTask2Entry
        MAX-ACCESS  not-accessible
                STATUS deprecated
                DESCRIPTION
                  "Table of CPU tasks that are active."
    ::= { extremeSystemCommon 29 }

        extremeCpuTask2Entry OBJECT-TYPE
        SYNTAX  ExtremeCpuTask2Entry
        MAX-ACCESS  not-accessible
                STATUS deprecated
        DESCRIPTION
                  "An entry in table of describes a single task."
        INDEX { extremeCpuTask2CpuId, extremeCpuTask2Name }
    ::= { extremeCpuTask2Table 1 }

    ExtremeCpuTask2Entry ::=
        SEQUENCE {
            extremeCpuTask2CpuId
                Unsigned32,
            extremeCpuTask2Name
                DisplayString,
               extremeCpuTask2Id
                Unsigned32,
            extremeCpuTask2Pc
                Unsigned32,
            extremeCpuTask2Status
                DisplayString,
            extremeCpuTask2Utilization
                Unsigned32,
            extremeCpuTask2MaxUtilization
                Unsigned32
        }

      extremeCpuTask2CpuId OBJECT-TYPE
                SYNTAX Unsigned32
            MAX-ACCESS not-accessible
            STATUS deprecated
                DESCRIPTION
                      "CPU on which this task last executed or is executing.
                       The primary CPU has a value of 1."
      ::= { extremeCpuTask2Entry 1 }

          extremeCpuTask2Name OBJECT-TYPE
                SYNTAX DisplayString (SIZE(0..31))
            MAX-ACCESS not-accessible
            STATUS deprecated
                DESCRIPTION
                      "Name associated with the reported task id."
      ::= { extremeCpuTask2Entry 2 }

    
          extremeCpuTask2Id OBJECT-TYPE
                SYNTAX Unsigned32
            MAX-ACCESS read-only
                STATUS deprecated
                DESCRIPTION
                  "Task identifier assigned by the operating system when
                   this task is spawned."
      ::= { extremeCpuTask2Entry 3 }

          extremeCpuTask2Pc OBJECT-TYPE
                SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS deprecated
                DESCRIPTION
                      "The value of the program counter for this task.
               It indicates the address of the next instruction
                       that would be executed once the operating system
                resumes this task." 
    ::= { extremeCpuTask2Entry 4 }

        extremeCpuTask2Status OBJECT-TYPE
                SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS deprecated
                DESCRIPTION
                      "The current status of the task as reported by the
                 operating system."
    ::= { extremeCpuTask2Entry 5 }

        extremeCpuTask2Utilization OBJECT-TYPE
                SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS deprecated
                DESCRIPTION
                      "The current CPU utilization by this task. This
               is the utilization when the task last executed."
    ::= { extremeCpuTask2Entry 6 }

        extremeCpuTask2MaxUtilization OBJECT-TYPE
                SYNTAX Unsigned32
            MAX-ACCESS read-write
            STATUS deprecated
                DESCRIPTION
                      "The maximum CPU utilization by this task since
               the time the start started executing. This value
               may be cleared."
    ::= { extremeCpuTask2Entry 7 }

        extremeAuthFailSrcAddr  OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS  accessible-for-notify
                STATUS current
                DESCRIPTION
                    "The IP address of the originator of the bad SNMP 
                    request that caused the generation of an authentication 
                    failure trap."
        ::= { extremeSystemCommon 30 }

        extremeCpuTransmitPriority      OBJECT-TYPE
                SYNTAX INTEGER {
                       normal(1),
                       high(2)
                       }
                MAX-ACCESS                  read-write
                STATUS                      deprecated
                DESCRIPTION
                    "The CPU transmit priority."
         ::= { extremeSystemCommon 31 }

        extremeImageBooted OBJECT-TYPE
                SYNTAX INTEGER { primary(1), secondary(2) }
            MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The image with which the switch was last booted, using which it is currently running."
    ::= { extremeSystemCommon 32 }               
        
        extremeMsmFailoverCause OBJECT-TYPE
                SYNTAX INTEGER { never(1),
                                 admin(2),
                                 exception(3), 
                                 removal(4),
                                 hwFailure(5), 
                                 watchdog(6),
                                 keepalive(7) 
                               }
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The cause of the last MSM failover. never(1) means an
                    MSM Failover has not occurred since the last reboot. 
                    admin(2) means the failover was initiated by the user. 
                    exception(3) means the former master MSM encountered a 
                    software exception condition. removal(4) means the master 
                    MSM was physically removed from the chassis. hwFailure(5) 
                    means a diagnostic failure was detected in the master MSM. 
                    watchdog(6) means that the master MSM hardware watchdog 
                    timer expired. keepalive(7) means the master MSM failed to 
                    respond to slave keepalive requests. The MSM failover will 
                    have been hitless only in the admin(2) and exception(3) 
                    cases "
        ::= { extremeSystemCommon 33 }


        extremeImageTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeImageEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A table containing information about each software image."
        ::= { extremeSystemCommon 34 }

    extremeImageEntry OBJECT-TYPE
        SYNTAX  ExtremeImageEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A table entry containing information about each software image."
        INDEX      { extremeImageNumber }
            ::= { extremeImageTable 1 }

    ExtremeImageEntry ::= SEQUENCE {
                extremeImageNumber              INTEGER,
                extremeMajorVersion             Integer32,
                extremeSubMajorVersion          Integer32,
                extremeMinorVersion          Integer32,
                extremeBuildNumber              Integer32,
                extremeTechnologyReleaseNumber  Integer32,
                extremeSustainingReleaseNumber  Integer32,
                extremeBranchRevisionNumber     Integer32,
                extremeImageType                INTEGER,
                extremeImageDescription         DisplayString,
                extremeImageSecurity            INTEGER,
                extremePatchVersion             Integer32
    }

    extremeImageNumber OBJECT-TYPE
        SYNTAX  INTEGER {
                       cur(0),
                       pri(1),
                       sec(2),
                       curr(3)
                }
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the particular software
                image."
        ::= { extremeImageEntry 1 }

    extremeMajorVersion   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The ExtremeWare Release Major Version."
        ::= { extremeImageEntry 2 }
                
        extremeSubMajorVersion   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
                STATUS deprecated 
        DESCRIPTION
                "The ExtremeWare Release Sub-major Version."
        ::= { extremeImageEntry 3 }
                
        extremeMinorVersion   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The ExtremeWare Release Minor Version."
        ::= { extremeImageEntry 4 }
                
        extremeBuildNumber   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The ExtremeWare Build Number."
        ::= { extremeImageEntry 5 }
                
        extremeTechnologyReleaseNumber   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The Technology Release version. This value is zero for
                all but TR releases."
        ::= { extremeImageEntry 6 }
                
        extremeSustainingReleaseNumber   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The Sustaining Release number for the ExtremeWare version."
        ::= { extremeImageEntry 7 }
                
        extremeBranchRevisionNumber   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The incremental build on specified branch."
        ::= { extremeImageEntry 8 }
                
        extremeImageType   OBJECT-TYPE
        SYNTAX  INTEGER {
                       trunk(0),
                       branch(1),
                       patch(2),
                       technology(3),
                       beta(4)
                      }
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The branch type from which the image was built."
        ::= { extremeImageEntry 9 }
                
        extremeImageDescription   OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(0..255))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
        "A unique string that can be used to identify the specific patch,
                technology, or development branch release."
        ::= { extremeImageEntry 10 }
                
        extremeImageSecurity   OBJECT-TYPE
        SYNTAX  INTEGER {
                       unknown(0),
                       nossh(1),
                       ssh(2)
                      }
        MAX-ACCESS  read-only
                STATUS deprecated
        DESCRIPTION
                "Indicates whether image was built with ssh. This object
         is deprecated, the ssh capability can be obtained from
         the extremeImageSshCapability of the ImageFeatureTable"
        ::= { extremeImageEntry 11 }


         extremePatchVersion   OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The ExtremeWare Release Patch Version."
                ::= { extremeImageEntry 12 }

                
extremeImageFeatureTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeImageFeatureEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "A table containing information about the software features."
        ::= { extremeSystemCommon 35 }

        extremeImageFeatureEntry OBJECT-TYPE
                SYNTAX  ExtremeImageFeatureEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "A table entry containing information about software features."
                INDEX     { extremeImageFeatureNumber }
                        ::= { extremeImageFeatureTable 1 }

        ExtremeImageFeatureEntry ::= SEQUENCE {
                extremeImageFeatureNumber               INTEGER,
                extremeImageSshCapability       INTEGER,
                extremeImageUAACapability       INTEGER
        }

        extremeImageFeatureNumber OBJECT-TYPE
                SYNTAX  INTEGER {
                       cur(0),
                       pri(1),
                       sec(2)
                }
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "A unique integer identifying the particular software
                image."
                ::= { extremeImageFeatureEntry 1 }

        extremeImageSshCapability   OBJECT-TYPE
                SYNTAX  INTEGER {
                       unknown(0),
                       nossh(1),
                       ssh(2)
                      }
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "Indicates whether image has ssh capability."
                ::= { extremeImageFeatureEntry 2 }

        extremeImageUAACapability   OBJECT-TYPE
                SYNTAX  INTEGER {
                       unknown(0),
                       nouaa(1),
                       uaa(2)
                      }
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "Indicates whether image has Wireless(UAA) components."
                ::= { extremeImageFeatureEntry 3 }

 extremeSystemPowerState OBJECT-TYPE
                SYNTAX INTEGER {
                   computing(1),
                   sufficientButNotRedundantPower(2),
                   redundantPowerAvailable(3),
                   insufficientPower(4) 
                }
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The current state of power available."
              ::= { extremeSystemCommon 36 }

       extremeBootTime OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS read-only
            STATUS      current
            DESCRIPTION
            " The boot time expressed in standard time_t value. 
              When interpreted as an absolute time value, it
              represents the number of seconds elapsed since 00:00:00 
              on January 1, 1970, Coordinated Universal Time (UTC)"
                ::= {extremeSystemCommon 37}

---------------------------------------------------------------------------
        -- Objects specific to Chassis products
    extremeChassisGroup OBJECT IDENTIFIER ::=    { extremeSystem 2}

    extremeMasterMSMSlot OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The extremeSlotNumber of the master MSM module."
    ::= { extremeChassisGroup 1  }
    
    extremeChassisPortsPerSlot OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The maximum number of ports that can be accomodated
        in a single slot. This number would change to accomodate
        blades with higher port density than current ones."
    ::= { extremeChassisGroup 3  }
    
    extremeSlotTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeSlotEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table containing information about each slot in the 
        chassis."
    ::= { extremeChassisGroup 2 }

    extremeSlotEntry OBJECT-TYPE
        SYNTAX  ExtremeSlotEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table entry containing information about the module in 
        each slot of the chassis."
        INDEX      { extremeSlotNumber }
    ::= { extremeSlotTable 1 }

    ExtremeSlotEntry ::= SEQUENCE {
                extremeSlotNumber               Integer32,
        extremeSlotName                  DisplayString,
                extremeSlotModuleConfiguredType INTEGER,
                extremeSlotModuleInsertedType   INTEGER,
        extremeSlotModuleState           INTEGER,    
        extremeSlotModuleSerialNumber    DisplayString
    }

    extremeSlotNumber OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the particular slot 
        in the chassis."
    ::= { extremeSlotEntry 1 }

    extremeSlotName   OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "A name identifying the particular slot in the chassis."
    ::= { extremeSlotEntry 2 }

    extremeSlotModuleConfiguredType OBJECT-TYPE
                SYNTAX  INTEGER {
                        none(1),
                        fe32(2),
                        g4x(3),
                        g6x(4),
                        fe32fx(5),
                        f48ti(7),
                        g8xi(8),
                        g8ti(9),
                        g12sxi(10),
                        g12ti(11),
                        fm32t(21),
                        gm4x(22),
                        gm4sx(23),
                        gm4t(24),
                wdm8(25),
                        fm24f(26),
                        fm24sf(27),
                        fm24te(28),
                        f96ti(29),
                wdm4(30),
                        f32fi(31),
            tenGig(32),
            tenGigLR(33),
            g16x3(34),
            g24t3(35),
            gm16x3(36),
            gm16t3(37),
            fm8v(50), -- vdsl blade
            wm4t1(51), -- 4port t1
            wm4t3(52), -- 4port t3
            wm1t3(53), -- 1port t3
            wm4e1(54),  -- 4port e1
                        p3c(101),
            p12c(102),
            arm(103),
            mpls(104),
            sma(105),
            p48c(106),
            a3c(107),
            a12c(108),
            pxm(200),
            msm1(203),
            msm1xl(204),
            g60t(400),
            g60x(401),
            teng6x(402),
            msm-g8x(414),
            g8x(415),
            g48t(416),
            g48p(417),
            g24x(418),
            teng4x(419),
            teng2x(420),
            g20x(421),
            teng2h(422),
            msm5(425),
            msm5r(426),
            gm20t(427),
            gm20xt(428),
            gm20xtr(429),
            xm2x(430), 
            xm2xr(431), 
            msm6r(432),
            g48te(433),
            g48ta(434),
            g48pe(435),
            g48x(437),
            msm-48(447),                                                 
            teng4ca(448),
            teng4xa(449),
            xm2hr(469)
                }
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "The configured module type for the given slot. 
        At startup, the module-type is none(1). It is 
        possible to configure the module-type even if there 
        is no module in the slot. If the current module in the 
        slot is different than the requested configured module-type, 
        then the current configuration for the module is erased and 
        the card will be restarted. The new configured module-type 
        will be recorded. Since the configured module type is different 
        than the actual module type, a moduleMismatch trap will be sent,
         and the extremeSlotModuleState for that module will show a 
        mismatch(3). Setting this variable to none(1) will clear the 
        previously assigned module-type of this slot, and all 
        configuration information related to the slot will be erased."
        ::= { extremeSlotEntry 3 }

    extremeSlotModuleInsertedType OBJECT-TYPE
                SYNTAX  INTEGER {
                        none(1),
                        fe32(2),
                        g4x(3),
                        g6x(4),
                        fe32fx(5),
                        msm(6),
                        f48ti(7),
                        g8xi(8),
                        g8ti(9),
                        g12sxi(10),
                        g12ti(11),
                        msm64i(18),
                        alpine3808(19),
                        alpine3804(20),
                        fm32t(21),
                        gm4x(22),
                        gm4sx(23),
                        gm4t(24),
            wdm8(25),
                        fm24f(26), 
                        fm24sf(27),
                        fm24te(28),
                        f96ti(29),
                wdm4(30),
                        f32fi(31),
            tenGig(32),
            tenGigLR(33),   
            g16x3(34),
            g24t3(35),
            gm16x3(36),
            gm16t3(37),
            fm8v(50), -- vdsl blade
            wm4t1(51), -- 4port t1
            wm4t3(52), -- 4port t3
            wm1t3(53), -- 1port t3
            wm4e1(54),  -- 4port e1
            alpine3802(55),
                        p3c(101),
            p12c(102),
            arm(103),
            mpls(104),
            sma(105),
            p48c(106),
            a3c(107),
            a12c(108),
                pxm(200),
                msm3(202),
                msm1(203),
                msm1xl(204),
            g60t(400),
            g60x(401),
            teng6x(402),
            msm-g8x(414),
            g8x(415),
            g48t(416),
            g48p(417),
            g24x(418),
            teng4x(419),
            teng2x(420),
            g20x(421),
            teng2h(422),
            msm5(425),
            msm5r(426),
            gm20t(427),
            gm20xt(428),
            gm20xtr(429),
            xm2x(430), -- 10G2X
            xm2xr(431), -- 10G2XR
            msm6r(432),
            g48te(433),
            g48ta(434),
            g48pe(435),
            g48x(437),
            msm-48(447),                                                 
            teng4ca(448),
            teng4xa(449),
            xm2hr(469)
        }
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The module type inserted into the slot. It is possible 
        to have a slot inserted into the slot even though 
        extremeSlotConfiguredType is none(1)."
        ::= { extremeSlotEntry 4 }

    extremeSlotModuleState OBJECT-TYPE
        SYNTAX  INTEGER    {
            notPresent(1),
            testing(2),
            mismatch(3),
            failed(4),
            operational(5),
            powerdown(6),
            unknown(7),
            present(8),
                poweron(9),
                post(10),
                downloading(11),
                booting(12),
                offline(13),
                initializing(14),
                invalid(100)            
        }
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The state of the module inserted in this slot."
        ::= { extremeSlotEntry 5 }

    extremeSlotModuleSerialNumber OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The serial number of the module inserted in this slot."
        ::= { extremeSlotEntry 6 }
    extremeSystemHealthCheck OBJECT IDENTIFIER
        ::= { extremeSystem 3 }

    extremeHealthCheckErrorType OBJECT-TYPE
        SYNTAX INTEGER { 
                unknown(1), 
                cpuPacket(2), 
                backplane(3), 
                hardwareFail(4),
                pbusChecksum(5)
                }            
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The error reported in the system health check trap"
        ::= { extremeSystemHealthCheck 1 }

    extremeHealthCheckAction OBJECT-TYPE
        SYNTAX INTEGER {
                syslogOnly(1),
                healthCheckTrap(2),
                ioModuleDown(3),
                systemDown(4),
                autoRecovery(5)
                }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The action/alarm level configured for health check."
        ::= { extremeSystemHealthCheck 2 }

    extremeHealthCheckMaxRetries OBJECT-TYPE
                SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The maximum number of times a module restart will be attempted if it fails. 
        If extremeHealthCheckAction is not autorecovery(5), then this value is zero."
        ::= { extremeSystemHealthCheck 3 }

-- =========================================================================== 
 
        extremeSystemThresholds OBJECT IDENTIFIER
        ::= { extremeSystem  4 }

        extremeCpuUtilRisingThreshold OBJECT-TYPE
                SYNTAX INTEGER (0..100)
                MAX-ACCESS read-write
        STATUS deprecated
                DESCRIPTION
                  "Rising threshold for CPU Aggregation utilization trap"
    ::= { extremeSystemThresholds 1 }

        extremeCpuTaskUtilPair OBJECT-TYPE
                SYNTAX DisplayString 
            MAX-ACCESS accessible-for-notify
                STATUS deprecated
                DESCRIPTION
                  "TaskName/CPU_% Util pair reported in CPU Utilization trap"
    ::= { extremeSystemThresholds 2 }


extremeSystemNotifications OBJECT IDENTIFIER ::= { extremeSystem 6 }

extremeSystemTrapsPrefix OBJECT IDENTIFIER ::= { extremeSystemNotifications 0 }


extremeSystemPowerStatus NOTIFICATION-TYPE
              OBJECTS   { sysDescr, extremeSystemPowerState }
              STATUS  current
              DESCRIPTION
                 "Change in status of System Power  
                        The trap will not be generated for discovering state." 
              ::= { extremeSystemTrapsPrefix 1 }


END

-- ################################################################################

EXTREME-VLAN-MIB DEFINITIONS ::= BEGIN

    -- =========================================================================
    --
    --    Interpretation of the Interface Table for VLAN and encapsulation
    --    interfaces:
    -- 
    --    OBJECT    VALUE/USE
    --
    --    ifIndex    Same interpretation as RFC1573.  A unique value,
    --            greater than zero for each VLAN/Encapsulation interface.
    --
    --    ifDescr    Same interpretation as RFC1573.  A textual string
    --            containing information about the interface.  This
    --            string should include the name of the manufacturer,
    --            the product name, the version of the software, and that
    --            the entry is a vlan or encapsulation interface.
    --
    --            Example: "VLAN Red"
    --            Example: "802.1Q Encapsulation Tag 004"
    --
    --    ifType    propVirtual(53)
    --
    --    ifMtu        Equivalent to the least common denominator MTU of the
    --            set of ports associated with the VLAN or ENCAPS interface.
    --            For example, if the VLAN contains one ethernet port, then
    --            the value of this object is 1518.  If the VLAN contains
    --            all FDDI ports, the value of this object is 4500.  If
    --            a vlan contains a mix of ethernet and FDDI ports, the
    --            value of this object is 1518.  If there are no ports associated
    --            with the interface, then the ifMtu is zero.
    --
    --    ifSpeed        The value of this object is zero, as defined by RFC1573
    --            for sub-layers that have no concept of bandwidth.             
    --
    --    ifPhysAddress    The value of this object is always equal to a null octet
    --            string.
    --
    --    ifAdminStatus    Always equal to up(1).  SetRequest-PDUs fail.
    --
    --    ifOperStatus    The value of this object is equal to up(1) if the
    --            ifOperStatus of at least one port in in the set of ports
    --            stacked below the VLAN layer is up(1).  The value of this 
    --            object is down(2) if the ifOperStatus of all ports stacked
    --            below the vlan layer is down(2).  The value of this
    --            object is down(2) if there are no ports stacked below the
    --               the vlan sublayer.
    --
    --    ifLastChange     Same interpretation as RFC1573.  The value of sysUpTime
    --             at the time the interface entered its current operational
    --            state.  If the current state was entered prior to the 
    --            last re-initialization of the local network management
    --            subsystem, then this object contains a zero value.
    --     
    --    ifInOctets    These objects  return NO_SUCH_NAME on reads and writes. 
    --    ifInUcastPkts      This approach is more desireable than returning zero
    --    ifInNUcastPkt    on reads because NMS's cannot differentiate between
    --    ifInDiscards    returning a zero for non-support vs returning a real
    --    ifInErrors    zero value for the counter.  Inability to distinguish
    --    ifInUnknownProtos between these two cases would essentially prevent
    --    ifOutOctets    future implementation of these objects, therefore
    --    ifOutUcastPkts    NO_SUCH_NAME is returned to indicate no-support.
    --    ifOutNUcastPkts    Future implementations may choose to return real values
    --    ifOutDiscards    for these counters.
    --    ifOutDiscards                "
    --    ifOutErrors                "
    --    ifLinkUpDownTrapEnable                  "
    --    ifConnectorPresent            "
    --    ifHighSpeed                "
    --    ifName                    "
    --
    --    ifOutQLen    Deprecated in RFC1573.  Set to zero if present.
    --    ifSpecific    Deprecated in RFC1573.  Set to {0.0} if present. 
    --
    --    linkUp TRAP    Not supported for the vlan/encaps sublayers
    --    linkDown TRAP    Not supported for the vlan/encaps sublayer
    --
    -- ======================================================================


    IMPORTS
        MODULE-IDENTITY             FROM SNMPv2-SMI
        RowStatus, TruthValue       FROM SNMPv2-TC
        DisplayString               FROM RFC1213-MIB
        OBJECT-TYPE                 FROM SNMPv2-SMI
        Integer32, IpAddress        FROM SNMPv2-SMI
        extremeAgent                FROM EXTREME-BASE-MIB
        PortList                    FROM EXTREME-BASE-MIB
        extremeSlotNumber           FROM EXTREME-SYSTEM-MIB
        Counter64                   FROM SNMPv2-SMI;

    extremeVlan MODULE-IDENTITY
        LAST-UPDATED "0506240000Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Extreme Virtual LAN objects"
    ::= { extremeAgent 2 }

    --
    -- The objects are arranged into the following groups:
    --
    extremeVlanGroup            OBJECT IDENTIFIER ::= { extremeVlan 1 }
    extremeVirtualGroup         OBJECT IDENTIFIER ::= { extremeVlan 2 }
    extremeEncapsulationGroup   OBJECT IDENTIFIER ::= { extremeVlan 3 }
    extremeVlanIpGroup          OBJECT IDENTIFIER ::= { extremeVlan 4 }
    extremeProtocolGroup        OBJECT IDENTIFIER ::= { extremeVlan 5 }
    extremeVlanOpaqueGroup      OBJECT IDENTIFIER ::= { extremeVlan 6 }
    extremeVlanStackGroup       OBJECT IDENTIFIER ::= { extremeVlan 7 }
    extremeVlanStatsGroup       OBJECT IDENTIFIER ::= { extremeVlan 8 }
    extremeVlanAggregationGroup        OBJECT IDENTIFIER ::= { extremeVlan 9 }
    extremeVlanTranslationGroup OBJECT IDENTIFIER ::= { extremeVlan 10 }

    --    
    --
    -- Extreme Networks Vlan Type Textual Convention
    --
    --  vlanLayer2(1) = The globally identified VLAN interface is protocol
    --  independent and based on port grouping.  The configuration of
    --  port grouping is controlled through the ifStackTable.
    --

    ExtremeVlanType ::= INTEGER {
        vlanLayer2(1)
    }

    ExtremeVlanEncapsType ::= INTEGER { 
        vlanEncaps8021q(1),
        vlanEncapsNone(2)
    }


    --
    -- All groups in this MIB are optional.  Support for a 
    -- particular group is dependent upon the capabilities
    -- of the network device.
    --
    -- The VLAN Group
    --
    --    The VLAN mapping group contains objects for
    --    identifying VLANs within a device, and for mapping
    --    these VLANs to a global identifier.  It consists of the
    --    extremeVlanGlobalMappingTable and the extremeVlanIfTable.
    --
    -- The Virtual Group
    --
    --    The virtual group contains the extremeNextVirtIfIndex object.
    --    In the future, other groups and object will be added as
    --    capabilities are added.
    --
    -- The Encapsulation Group
    --
    --    The Encapsulation Group contains objects for identifying
    --    and configuring encapsulation entries within a device.
    --    It consists of the extremeVlanEncapsIfTable.
    --
    -- The Forwarding Database Group
    --
    --    Contains objects for managing MAC-layer FDBs, including
    --    the extremeVlanDot1qStaticTable


    --
    -- The Extreme Networks VLAN Global Mapping Table
    --
    -- This table is implemented by all Extreme Networks network devices  
    -- that support interfaces to globally identified VLANs.
    --

    extremeVlanGlobalMappingTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanGlobalMappingEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
            "This table lists VLAN interfaces that are globally
            identified.  A single entry exists in this list for
            each VLAN interface in the system that is bound to
            a global identifier."
    ::= { extremeVlanGroup 1 }

    extremeVlanGlobalMappingEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanGlobalMappingEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "An individual VLAN interface global mapping entry.
            Entries in this table are created by setting the
            extremeVlanIfGlobalIdentifier object in the
            extremeVlanIfTable to a non-zero value."
        INDEX { extremeVlanGlobalMappingIdentifier }
    ::= { extremeVlanGlobalMappingTable 1 }

    ExtremeVlanGlobalMappingEntry ::=
        SEQUENCE {
            extremeVlanGlobalMappingIdentifier
                INTEGER ,
            extremeVlanGlobalMappingIfIndex
                Integer32
        }

    extremeVlanGlobalMappingIdentifier OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS    read-only
        STATUS current
        DESCRIPTION
            "An index into the extremeVlanGlobalMappingTable and an
            administratively assigned global VLAN identifier.  The
            value of this object globally identifies the VLAN interface.
            For VLAN interfaces, on different network devices, which are
            part of the same globally identified VLAN, the value of this
            object will be the same."
    ::= { extremeVlanGlobalMappingEntry 1 }

    extremeVlanGlobalMappingIfIndex OBJECT-TYPE
        SYNTAX Integer32 
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The value of extremeVlanIfIndex for the VLAN interface in the
            extremeVlanIfTable, which is bound to the global identifier
            specified by this entry."
    ::= { extremeVlanGlobalMappingEntry 2 }

    --
    -- The Extreme Networks VLAN Interface Table
    --
    -- This table is implemented by all Extreme Networks network devices  
    -- that support VLAN interfaces.
    --

    extremeVlanIfTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanIfEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists VLAN interfaces that exist within
            a device.  A single entry exists in this list for each
            VLAN interface in the system.  A VLAN interface may
            be created, destroyed and/or mapped to a globally 
            identified vlan."
    ::= { extremeVlanGroup 2 }

    extremeVlanIfEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanIfEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "An individual VLAN interface entry.  When an NMS wishes
            to create a new entry in this table, it must obtain a 
            non-zero index from the extremeNextAvailableVirtIfIndex
            object.  Row creation in this table will fail if the
            chosen index value does not match the current value 
            returned from the extremeNextAvailableVirtIfIndex object."
        INDEX { extremeVlanIfIndex }
    ::= { extremeVlanIfTable 1 }

    ExtremeVlanIfEntry ::=
        SEQUENCE {
            extremeVlanIfIndex
                Integer32,
            extremeVlanIfDescr
                DisplayString,
            extremeVlanIfType
                ExtremeVlanType,
            extremeVlanIfGlobalIdentifier
                INTEGER,
            extremeVlanIfStatus
                RowStatus,
            extremeVlanIfIgnoreStpFlag
                TruthValue,
            extremeVlanIfIgnoreBpduFlag
                TruthValue,
            extremeVlanIfLoopbackModeFlag
                TruthValue,
            extremeVlanIfVlanId
                Integer32,
            extremeVlanIfEncapsType
                ExtremeVlanEncapsType,
            extremeVlanIfAdminStatus
                TruthValue
        }

    extremeVlanIfIndex OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS     read-create
        STATUS current
        DESCRIPTION
            "The index value of this row and the vlan's ifIndex in the
            ifTable. The NMS obtains the index value for this row by
            reading the extremeNextAvailableVirtIfIndex object."
    ::= { extremeVlanIfEntry 1 }

    extremeVlanIfDescr OBJECT-TYPE
        SYNTAX    DisplayString (SIZE(0..32))
        MAX-ACCESS    read-create
        STATUS    current
        DESCRIPTION
            "This is a description of the VLAN interface."
    ::= {extremeVlanIfEntry 2}

    extremeVlanIfType OBJECT-TYPE
        SYNTAX     ExtremeVlanType
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The VLAN interface type."
    ::= { extremeVlanIfEntry 3 }

    extremeVlanIfGlobalIdentifier OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS    read-create 
        STATUS deprecated
        DESCRIPTION
            "An administratively assigned global VLAN identifier.  For
            VLAN interfaces, on different network devices, which are
            part of the same globally identified VLAN, the value of this
            object will be the same.  

            The binding between a global identifier and a VLAN 
            interface can be created or removed.  To create a binding
            an NMS must write a non-zero value to this object.  To
            delete a binding, the NMS must write a zero to this
            object. The value 1 is reserved for the default VLAN and
            this cannot be deleted or re-assigned."
    ::= { extremeVlanIfEntry 4 }

    extremeVlanIfStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The status column for this VLAN interface. 
            This OBJECT can be set to:
                active(1)
                createAndGo(4)
                createAndWait(5)
                destroy(6)

            The following values may be read:
                active(1)
                notInService(2)
                notReady(3).
            
            Setting this object to createAndGo(4) causes the agent
            to attempt to create and commit the row based on 
            the contents of the objects in the row.  If all necessary
            information is present in the row and the values are
            acceptible to the agent, the agent will change the 
            status to active(1).  If any of the necessary objects  
            are not available, the agent will reject the creation
            request.    

            Setting this object to createAndWait(5) causes a row
            in this table to be created.  The agent sets the
            status to notInService(2) if all of the information is
            present in the row and the values are acceptable to the
            agent; otherwise, the agent sets the status to notReady(3).

            Setting this object to active(1) is only valid when
            the current status is active(1) or notInService(2).  

            When the state of the row transitions is set to active(1),
            the agent creates the corresponding row in the ifTable.

            Setting this object to destroy(6) will remove the
            corresponding VLAN interface, remove the entry in this
            table, and the corresponding entries in the
            extremeVlanGlobalMappingTable and the ifTable.

            In order for a set of this object to destroy(6) to succeed,
            all dependencies on this row must have been removed. These
            will include any stacking dependencies in the ifStackTable
            and any protocol specific tables dependencies."
    ::= { extremeVlanIfEntry 6 }

    extremeVlanIfIgnoreStpFlag OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "Enable/disable STP for this VLAN interface. Setting this
            object to true will cause the ports on this VLAN to ignore
            STP BPDUs. When a vlan is first created, the Default value 
            is FALSE, which means that the VLAN uses STP port information"
    ::= { extremeVlanIfEntry 7 }

    extremeVlanIfIgnoreBpduFlag OBJECT-TYPE
         SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "Setting this object to true causes this VLAN's BPDU's to be ignored by 
            the Spanning Tree process. This can be used to keep the root bridge within 
            one's own network when external switches also fall within the same Spanning 
            Tree Domain. When a vlan is first created, the Default value is FALSE."
    ::= { extremeVlanIfEntry 8 }

    extremeVlanIfLoopbackModeFlag OBJECT-TYPE
         SYNTAX        TruthValue
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "Setting this object to true causes loopback mode to be enabled on this VLAN."
    ::= { extremeVlanIfEntry 9 }

    extremeVlanIfVlanId OBJECT-TYPE
                SYNTAX  Integer32 (1..4095)
                MAX-ACCESS      read-write
         STATUS current
         DESCRIPTION
            "The VLAN ID of this VLAN."
    ::= { extremeVlanIfEntry 10 }

    extremeVlanIfEncapsType OBJECT-TYPE
        SYNTAX  ExtremeVlanEncapsType
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "The encapsulation algorithm used when encapsulating
            packets transmitted, or de-encapsulating packets
            received through this interface."
    ::= { extremeVlanIfEntry 11 }

    extremeVlanIfAdminStatus OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "Enable/disable this VLAN interface. Setting this
             object to true will administratively enable this VLAN."
    ::= { extremeVlanIfEntry 12 }

    --
    -- The Extreme Networks VLAN Encapsulation Interface Table
    --
    -- VLAN Encapsulation refers to the ability to multiplex
    -- several VLANs over a single network segment by explicitly
    -- labeling eack packet with a tag that identifies the packet's
    -- VLAN membership.
    --
    -- The only tagging scheme supported by this MIB is IEEE 802.1Q
    -- Some ports support tagging, some don't.  For ports that support 
    -- tagging, they may have some VLANs that operate in tagging mode, 
    -- some not in tagging mode.
    --
    -- The encapsulation interface will be creatable by the NMS using
    -- the extremeVlanIfTable.  This table will allow the NMS to define 
    -- certain attributes of the encapsulation including an encapsulation 
    -- algorithm and a tag value.  Using the ifStack table, an encapsulation
    -- interface may be stacked underneath a VLAN interface and on top of port(s).
    -- 
    -- Example ifTable Stacking:
    --
    --        +=======================+=======================+
    --        |     VLAN Xface 9      |       VLAN Xface 11   |
    --        +=======================+=======================+
    --        +=======================+
    --        |      ENCAPS Xface 10  |
    --        +=======================+
    --        +=====+=====+=====+=====+=====+=====+=====+=====+
    --        |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |<=== Ports
    --        +=====+=====+=====+=====+=====+=====+=====+=====+
    --
    -- ifStackTable Instances:
    --        ifStackHigher    ifStackLower
    --                   0               9
    --                   0               11
    --                   1               0
    --                   2               0
    --                   3               0
    --                   4               0
    --                   9               10
    --                  10               1
    --                  10               2
    --                  10               3
    --                  10               4
    --                  11               5
    --                  11               6
    --                  11               7
    --                  11               8
    --
    -- A stack that contains a VLAN, encapsulation and a port interface,
    -- specifies:
    --
    -- * For packets received through the given port that use the given
    --   encapsulation scheme and contain the given tag, those packets
    --   are members of the given VLAN.
    --
    -- * For unencapsulated packets from the given VLAN that are to be
    --   transmitted out the given port, those packets must first be
    --   encapsulated using the given encapsulation algorithm and tag.
    -- 
    -- This table is implemented by all Extreme Networks network devices  
    -- that support the encapsulation of multiple VLANs over a single
    -- interface.


    extremeVlanEncapsIfTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanEncapsIfEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists VLAN encapsulation interfaces that
            exist within a device.  A single entry exists in this
            list for each VLAN encapsulation interface in the
            system.  A VLAN encapsulation interface may be created
            or destroyed."
    ::= { extremeEncapsulationGroup 1 }

    extremeVlanEncapsIfEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanEncapsIfEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "An individual VLAN encapsulation interface entry. 
            When an NMS wishes to create a new entry in this table,
            it must obtain a non-zero index from the
            extremeNextAvailableVirtIfIndex object.  Row creation
            in this table will fail if the chosen index value does
            not match the current value returned from the
            extremeNextAvailableVirtIfIndex object."
        INDEX { extremeVlanEncapsIfIndex }
    ::= { extremeVlanEncapsIfTable 1 }

    ExtremeVlanEncapsIfEntry ::=
        SEQUENCE {
            extremeVlanEncapsIfIndex
                Integer32,
            extremeVlanEncapsIfType
                ExtremeVlanEncapsType,
            extremeVlanEncapsIfTag
                Integer32,
            extremeVlanEncapsIfStatus
                RowStatus
        }

    extremeVlanEncapsIfIndex OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS     read-create
        STATUS current
        DESCRIPTION
            "The index value of this row and the encapsulation
            interface's ifIndex in the ifTable.  The NMS obtains
            the index value used for creating a row in this table
            by reading the extremeNextAvailableVirtIfIndex object."
    ::= { extremeVlanEncapsIfEntry 1 }

    extremeVlanEncapsIfType OBJECT-TYPE
        SYNTAX    ExtremeVlanEncapsType
        MAX-ACCESS    read-create
        STATUS    current
        DESCRIPTION
            "The encapsulation algorithm used when encapsulating
            packets transmitted, or de-encapsulating packets
            received through this interface."
    ::= {extremeVlanEncapsIfEntry 2}

    extremeVlanEncapsIfTag OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The tag used when encapsulating packets transmitted,
            or de-encapsulating packets received through this
            interface."
    ::= { extremeVlanEncapsIfEntry 3 }

    extremeVlanEncapsIfStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The row status for this VLAN encapsulation interface. 

            This OBJECT can be set to:

                active(1)
                createAndGo(4)
                createAndWait(5)
                destroy(6)

            The following values may be read:
                active(1)
                notReady(3).
            
            In order for a row to become active, the NMS must set
            extremeVlanEncapsIfTagType and extremeVlanEncapsIfTag
            to some valid and consistent values.  

            Setting this object to createAndGo(4) causes the agent
            to attempt to create and commit the row based on the
            contents of the objects in the row. If all necessary
            information is present in the row, the agent will
            create the row and change the status to active(1).  If
            any of the necessary objects are not available, or
            specify an invalid configuration, the row will not be
            created and the agent will return an appropriate error.

            Setting this object to createAndWait(5) causes a row in
            in this table to be created.  If all necessary objects
            in the row have been assigned values and specify a
            valid configuration, the status of the row will be set
            to notInService(2); otherwise, the status will be set
            to notReady(3).  

            This object may only be set to createAndGo(4) or
            createAndWait(5) if it does not exist.

            Setting this object to active(1) when the status is
            notInService(2) causes the agent to commit the
            row.  Setting this object to active(1) when its value
            is already active(1) is a no-op.

            Setting this object to destroy(6) will remove the
            corresponding VLAN encapsulation interface, remove the
            entry in this table, and remove the corresponding entry
            in the ifTable.

            In order for a set of this object to destroy(6) to
            succeed, all dependencies on this row must have been
            removed.  These will include any references to this
            interface in the ifStackTable."
    ::= { extremeVlanEncapsIfEntry 4 }

    --
    -- The extremeNextAvailableVirtIfIndex
    --

    extremeNextAvailableVirtIfIndex OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS    read-only
        STATUS    current
        DESCRIPTION
            "The value of the next available virtual ifIndex.  This
             object is used by an NMS to select an index value 
             for row-creation in tables indexed by ifIndex.  The 
             current value of this object is changed to a new
             value when the current value is written to an agent's
             table, that is indexed by ifIndex.  Row creation
             using the current value of this object, allocates
             a virtual ifIndex.  Note the following:
            
             1. A newly created row does not have to be active(1)
                for the agent to allocate the virtual ifIndex.

             2. Race conditions between multiple NMS's end when
                a row is created.  Rows are deemed created when
                a setRequest is successfully committed (i.e.
                the errorStats is noError(0)).

            3.  An agent that exhausts its supply of virual
                ifIndex values returns zero as the value of this
                object. This can be used by an NMS as an indication
                to deleted unused rows and reboot the device."
    ::= { extremeVirtualGroup 1 }         


    --
    --  The IP VLAN Interface Information Table
    --
    --  The IP VLAN Interface Information table is supported by 
    --  network devices that support IP VLAN interfaces. 
    --
    --  A row must be created in this table for each IP
    --  VLAN interface. The index used is the
    --  same index as that used to create the IP VLAN interface
    --  in the extremeVlanIfTable. 
    --    

    extremeVlanIpTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanIpEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A list of IP VLAN interface information
            entries.  Entries in this table are related
            to entries in the extremeVlanIfTable by using the
            same index."
    ::= { extremeVlanIpGroup 1 }

    extremeVlanIpEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanIpEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A extremeVlanIpEntry contains layer 3
            information about a particular IP VLAN
            interface."
        INDEX    { extremeVlanIfIndex }
    ::= { extremeVlanIpTable 1 }

    ExtremeVlanIpEntry ::=
        SEQUENCE {
            extremeVlanIpNetAddress
                IpAddress,
            extremeVlanIpNetMask
                IpAddress,
            extremeVlanIpStatus
                RowStatus,    
            extremeVlanIpForwardingState
                TruthValue
        }

    extremeVlanIpNetAddress OBJECT-TYPE
        SYNTAX  IpAddress 
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The IP network number for the IP VLAN interface defined
            in the extremeVlanIfTable identified with the same index."
    ::= { extremeVlanIpEntry 1 }

    extremeVlanIpNetMask OBJECT-TYPE
        SYNTAX  IpAddress 
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The IP network mask corresponding to the IP Network
            address defined by extremeVlanIpIpNetAddress.  "
    ::= { extremeVlanIpEntry 2 }

    extremeVlanIpStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The status column for this IP VLAN entry.
            This object can be set to:
                active(1)
                createAndGo(4)
                destroy(6)

            The following values may be read:
                active(1)

            Setting this object to active(1) or createAndGo(4) causes 
            the agent to attempt to create and commit the row based on 
            the contents of the objects in the row.  If all necessary
            information is present in the row and the values are
            acceptible to the agent, the agent will change the 
            status to active(1).  If any of the necessary objects  
            are not available, the agent will reject the row 
            creation request.

            Setting this object to createAndWait(5) is not supported.

            When the status changes to active(1), the agent applies the
            IP parmeters to the IP VLAN interface identified by the
            corresponding value of the extremeVlanIpIndex object.

            Setting this object to destroy(6) will remove the IP
            parmeters from the IP VLAN interface and remove the
            entry from this table."
    ::= { extremeVlanIpEntry 3 }

    extremeVlanIpForwardingState OBJECT-TYPE
        SYNTAX  TruthValue 
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "Indicates whether the IP Forwarding  on this Vlan is
            Enable or not. A true value indicates that the Vlan is
            Enable."
    ::= { extremeVlanIpEntry 4 }

    -- 
    -- Protocol Definition Table (extremeware)
    --
    -- we choose to define our own table as existing tables are 
    -- overcomplex (RMON Protocol MIB, etc.)
    --
    extremeVlanProtocolTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanProtocolEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Table of defined combinations of protocol IDs 
            that make up one protocol definition name. 
            All members of one protocol definition share 
            the same extremeVlanProtocolIndex. A given 
            protocol ID may appear in the definition of 
            just one protocol definition. This table will
            typically contain some default entries for
            popular protocols chosen by ExtremeWare."
    ::= { extremeProtocolGroup 1 }

    extremeVlanProtocolEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanProtocolEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "One member protocol ID of a protocol definition."
        INDEX { extremeVlanProtocolIndex, 
                extremeVlanProtocolIdIndex }

    ::= { extremeVlanProtocolTable 1 }

    ExtremeVlanProtocolEntry ::= SEQUENCE {
        extremeVlanProtocolIndex           INTEGER,
        extremeVlanProtocolIdIndex         INTEGER,
        extremeVlanProtocolName            DisplayString,
        extremeVlanProtocolDllEncapsType   INTEGER,
        extremeVlanProtocolId              INTEGER,
        extremeVlanProtocolStatus          RowStatus
    }
        
    extremeVlanProtocolIndex OBJECT-TYPE
        SYNTAX INTEGER (0..16)
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "An index representing a protocol grouping of
            protocol ID values. A limited number of
            protocol groupings may be defined (up to 7 
            in ExtremeWare and 16 in EXOS). 0 is used  
            for internal purposes."
    ::= { extremeVlanProtocolEntry 1 }

    extremeVlanProtocolIdIndex OBJECT-TYPE
        SYNTAX INTEGER (0..6)
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "An index representing a particular protocol ID
            within a protocol grouping. A limited number of
            protocol IDs may be defined per 
            extremeVlanProtocolIndex (up to 6 in ExtremeWare).
            0 is used for internal purposes."
    ::= { extremeVlanProtocolEntry 2 }

    extremeVlanProtocolName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..31))
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "A human-readable string representing this protocol.
            This string should be the same for all entries
            sharing a given extremeVlanProtocolIndex. 
            A ExtremeVlanProtocolEntry with 
            extremeVlanProtocolName of ANY represents a match 
            on all protocols: this entry may not be modified."
    ::= { extremeVlanProtocolEntry 3 }

    extremeVlanProtocolDllEncapsType OBJECT-TYPE 
        SYNTAX  INTEGER { any(1), ethertype(2), 
                          llc(3), llcSnapEthertype(4), none(5) }
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "Represents the type of data-link encapsulation 
            in which the extremeVlanProtocolId protocol ID 
            is carried. The value any(1) is used to indicate 
            a wildcard and matches all encapsulations and 
            protocol IDs that are not explicitly mentioned 
            in this table. Entries of type any(1) may not 
            be created. The value none(5) is used to indicate 
            that no protocol IDs match this entry. A value
            of none(5) may not be set by a manager."
    ::= { extremeVlanProtocolEntry 4 }

    extremeVlanProtocolId OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The protocol ID: for entries of type ethertype(2)
            or llcSnapEthertype(4) this represents a 16-bit
            protocol ID. For entries of type llc(3) it 
            represents a concatenation of LLC DSAP+SSAP in
            network byte order. This value is not valid
            for extremeVlanProtocolDllEncapsType values of
            any(1) or none(5)."
    ::= { extremeVlanProtocolEntry 5 }

    extremeVlanProtocolStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The row status variable, used according to
            row installation and removal conventions."
    ::= { extremeVlanProtocolEntry 6 }


    --
    -- Protocol-based VLAN Table (extremeware)
    --
    extremeVlanProtocolVlanTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanProtocolVlanEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Table to apply one of the protocol definitions 
            in extremeVlanProtocolTable to a given VLAN 
            This applies to all ports that are untagged 
            in this VLAN). A limited number of protocols
            may be applied simultaneously in one device
            (up to 8 in ExtremeWare)."
    ::= { extremeProtocolGroup 2 }

    extremeVlanProtocolVlanEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanProtocolVlanEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A mapping of untagged packets of one protocol 
            onto a particular VLAN."
        INDEX { extremeVlanProtocolVlanIfIndex, 
                extremeVlanProtocolVlanProtocolIndex }
    ::= { extremeVlanProtocolVlanTable 1 }

    ExtremeVlanProtocolVlanEntry ::= SEQUENCE {
        extremeVlanProtocolVlanIfIndex Integer32,
        extremeVlanProtocolVlanProtocolIndex Integer32,
        extremeVlanProtocolVlanStatus         RowStatus
    }

    extremeVlanProtocolVlanIfIndex OBJECT-TYPE
                --SYNTAX INTEGER (extremeware)
                SYNTAX Integer32
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The index value of this row and the vlan's ifIndex in the
            ifTable. The NMS obtains the index value for this row by
            reading the extremeNextAvailableVirtIfIndex object."
    ::= { extremeVlanProtocolVlanEntry 1 }

    extremeVlanProtocolVlanProtocolIndex OBJECT-TYPE
                --SYNTAX INTEGER (extremeware)
                SYNTAX Integer32
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "An index representing a protocol grouping of
            protocol ID values. A limited number of
            protocol groupings may be defined (up to 7 
            in ExtremeWare)."
    ::= { extremeVlanProtocolVlanEntry 2 }


    extremeVlanProtocolVlanStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The row status variable, used according to
            row installation and removal conventions."
    ::= { extremeVlanProtocolVlanEntry 3 }


    --
    -- Protocol Definition Table (EXOS, supporting walk only )
    --
    extremeVlanProtocolDefTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanProtocolDefEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Table of defined combinations of protocols and
            DLLEncaps type. This table will
            typically contain some default entries for
            popular protocols chosen by ExtremeWare."
    ::= { extremeProtocolGroup 3 }

    extremeVlanProtocolDefEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanProtocolDefEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "One member representing combination of protocol and
            DLLEncaps Type."
        INDEX { extremeVlanProtocolDefName, 
                extremeVlanProtocolDefDllEncapsType,
                extremeVlanProtocolDefValue}
    ::= { extremeVlanProtocolDefTable 1 }

    ExtremeVlanProtocolDefEntry ::= SEQUENCE {
        extremeVlanProtocolDefName              DisplayString,
        extremeVlanProtocolDefDllEncapsType     INTEGER,
        extremeVlanProtocolDefValue             INTEGER,
        extremeVlanProtocolDefStatus            RowStatus
    }

    extremeVlanProtocolDefName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..31))
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A human-readable string representing this protocol.
            A ExtremeVlanProtocolEntry with 
            extremeVlanProtocol2Name of ANY represents a match 
            on all protocols: this entry may not be modified."
    ::= { extremeVlanProtocolDefEntry 1 }

    extremeVlanProtocolDefDllEncapsType OBJECT-TYPE 
        SYNTAX  INTEGER { any(1), ethertype(2), 
                          llc(3), llcSnapEthertype(4), none(5) }
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Represents the type of data-link encapsulation 
            in which the protocol designated by 
            extremeVlanProtocolDefName is carried. 
            The value any(1) is used to indicate 
            a wildcard and matches all encapsulations and 
            protocol IDs that are not explicitly mentioned 
            in this table. Entries of type any(1) may not 
            be created. The value none(5) is used to indicate 
            that no protocol IDs match this entry. A value
            of none(5) may not be set by a manager."
    ::= { extremeVlanProtocolDefEntry 2 }

    extremeVlanProtocolDefValue OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "The protocol ID: for entries of type ethertype(2)
            or llcSnapEthertype(4) this represents a 16-bit
            protocol ID. For entries of type llc(3) it 
            represents a concatenation of LLC DSAP+SSAP in
            network byte order. This value is not valid
            for extremeVlanProtocolDefDllEncapsType values of
            any(1) or none(5)."
    ::= { extremeVlanProtocolDefEntry 3 }

    extremeVlanProtocolDefStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The row status variable, used according to
            row installation and removal conventions."
    ::= { extremeVlanProtocolDefEntry 4 }

    --
    -- Protocol-based VLAN Table (EXOS,  supporting walk only )
    --
    extremeVlanProtocolBindingTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanProtocolBindingEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Table to apply one of the protocol definitions 
            in extremeVlanProtocolDefTable to a given VLAN 
            This applies to all ports that are untagged 
            in this VLAN). A limited number of protocols
            may be applied simultaneously in one device
            (up to 8 in ExtremeWare)."
    ::= { extremeProtocolGroup 4 }

    extremeVlanProtocolBindingEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanProtocolBindingEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A mapping of untagged packets of one protocol 
            onto a particular VLAN."
        INDEX { extremeVlanProtocolBindingIfIndex } 
    ::= { extremeVlanProtocolBindingTable 1 }

    ExtremeVlanProtocolBindingEntry ::= SEQUENCE {
        extremeVlanProtocolBindingIfIndex     Integer32,
        extremeVlanProtocolBindingName        DisplayString,
        extremeVlanProtocolBindingStatus      RowStatus
    }

    extremeVlanProtocolBindingIfIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
             "The index value of this row and the vlan's ifIndex in the
             ifTable. The NMS obtains the index value for this row by
             reading the extremeNextAvailableVirtIfIndex object."
    ::= { extremeVlanProtocolBindingEntry 1 }

    extremeVlanProtocolBindingName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..31))
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "A human-readable string representing this protocol.
            A ExtremeVlanProtocolBindingEntry with 
            extremeVlanProtocolBindingName of ANY represents a 
            match on all protocols: this entry may not be modified."
    ::= { extremeVlanProtocolBindingEntry 2 }

    extremeVlanProtocolBindingStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The row status variable, used according to
            row installation and removal conventions."
    ::= { extremeVlanProtocolBindingEntry 3 }
    --
    -- The Extreme Networks VLAN Opaque Table
    --
    -- This table is implemented by all Extreme Networks network devices  
    -- that support VLAN interfaces.
    --

    extremeVlanOpaqueTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanOpaqueEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists the ports associated with each VLAN interface."
    ::= { extremeVlanOpaqueGroup 1 }

    extremeVlanOpaqueEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanOpaqueEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This represents the tagged and untagged ports on each slot per vlan."
        INDEX { extremeVlanIfIndex, extremeSlotNumber }
    ::= { extremeVlanOpaqueTable 1 }

    ExtremeVlanOpaqueEntry ::=
        SEQUENCE {
            extremeVlanOpaqueTaggedPorts
            PortList,
            extremeVlanOpaqueUntaggedPorts
            PortList
        }


    extremeVlanOpaqueTaggedPorts OBJECT-TYPE
        SYNTAX    PortList
        MAX-ACCESS    read-only
        STATUS    current
        DESCRIPTION
            "Each bit in the octet string represents one port.
             A 1 means that the port is a tagged port in that vlan. 
            The bit value for a port is 0 otherwise."
    ::= { extremeVlanOpaqueEntry 1}

    extremeVlanOpaqueUntaggedPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "Each bit in the octet string represents one port.
             A 1 means that the port is an untagged port in that vlan. 
            The bit value for a port is 0 otherwise."
    ::= { extremeVlanOpaqueEntry 2 }

    --
    -- The Extreme Networks VLAN Opaque Control Table
    --
    -- This table is implemented by all Extreme Networks networks devices  
    -- on EXOS and that support VLAN interfaces. The table is  
    -- used to add/delete ports on a vlan. The table is transitional in nature 
    -- and SNMP read operations must not be performed on it. Use extremeVlanOpaqueTable
    -- for reading the port membership association with vlans
    --

   extremeVlanOpaqueControlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanOpaqueControlEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table is used to configure the ports associated with each VLAN 
             interface. The table is  used to add/delete ports on a vlan. The table is
             transitional in nature and SNMP read operations must not be performed on it. 
             Use extremeVlanOpaqueTable for reading the port membership association with vlans"
    ::= { extremeVlanOpaqueGroup 2 }

    extremeVlanOpaqueControlEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanOpaqueControlEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This represents a control table entry (command) to configure the tagged 
             and untagged ports on each slot per vlan.  The first index of the entry is 
             the ifIndex of the VLAN and second index is the slot number of the ports.

             When adding untagged ports to a VLAN, those ports maybe not be untagged ports
             for another VLAN (assuming both VLANs use the ANY protocol filter).  Such 
             ports must first be deleted from the other VLAN(s) or an error will occur.

             The operation will succeed or fail in its entirety, no partial results on some of the ports."
        INDEX { extremeVlanIfIndex, extremeSlotNumber }
    ::= { extremeVlanOpaqueControlTable 1 }

    ExtremeVlanOpaqueControlEntry ::=
        SEQUENCE {
            extremeVlanOpaqueControlPorts
            PortList,
            extremeVlanOpaqueControlOperation
            INTEGER,
                    extremeVlanOpaqueControlStatus 
            RowStatus
        }

    extremeVlanOpaqueControlPorts OBJECT-TYPE
        SYNTAX    PortList
        MAX-ACCESS    read-create
        STATUS    current
        DESCRIPTION
           "The octet string representing a list of ports in
            bitwise form."

    ::= { extremeVlanOpaqueControlEntry 1}

    extremeVlanOpaqueControlOperation OBJECT-TYPE
        SYNTAX INTEGER {
          addTagged(1),
          addUntagged(2),
          delete(3)
        }
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The operation code for this entry. 
               addTagged(1)   = Ports referred to in the extremeVlanOpaqueControlPorts 
                                variable are added as tagged ports to the VLAN indicated
                                by the index.  The ports belong to the slot number as 
                                indicated by the second index of the variable.

               addUntagged(2) = Ports referred to in the extremeVlanOpaqueControlPorts 
                                  variable are added as tagged ports to the VLAN indicated
                                  by the index.  The ports belong to the slot number as 
                                  indicated by the second index of the variable.

               delete(3)      = Ports referred to in the extremeVlanOpaqueControlPorts 
                                 variable are removed from the VLAN indicated by the index.
                                 The ports belong to the slot number as indicated by the
                                 second index of the variable."

    ::= { extremeVlanOpaqueControlEntry 2 }
    
    extremeVlanOpaqueControlStatus OBJECT-TYPE
    SYNTAX        RowStatus                      
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The status of this entry as per standard RowStatus
         conventions. Note however, that only the CreateAndGo 
         state is supported."
    ::= { extremeVlanOpaqueControlEntry 3 }

    --
    -- The Extreme Networks VLAN Stack Table
    --
    -- This table is essentially the ifStackTable without entries for any ports
    --

    extremeVlanStackTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanStackEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Represents those components of the ifStackTable that do not
            contain a Physical interface."
    ::= { extremeVlanStackGroup 1 }

    extremeVlanStackEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanStackEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Each entry in this read-only table defines which interfaces are
            on top of which one. All information in the table is also
            contained in ifStackTable. The Physical interfaces in the 
            ifStackTable are not represented here."
        INDEX { extremeVlanStackHigherLayer, extremeVlanStackLowerLayer }
    ::= { extremeVlanStackTable 1 }

    ExtremeVlanStackEntry ::=
        SEQUENCE {
            extremeVlanStackHigherLayer
                Integer32,
            extremeVlanStackLowerLayer
                Integer32
        }


    extremeVlanStackHigherLayer OBJECT-TYPE
        SYNTAX    Integer32
        MAX-ACCESS    read-only
        STATUS    current
        DESCRIPTION
            "The higher layer in the logical vlan hierarchy."
    ::= { extremeVlanStackEntry 1}

    extremeVlanStackLowerLayer OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The lower layer in the logical vlan hierarchy."
    ::= { extremeVlanStackEntry 2 }

    extremeVlanL2StatsTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeVlanL2StatsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This tables contains per-VLAN layer 2 statistics information."
    ::= { extremeVlanStatsGroup 1 }

    extremeVlanL2StatsEntry OBJECT-TYPE
        SYNTAX          ExtremeVlanL2StatsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            ""
        INDEX { extremeVlanIfIndex }
    ::= { extremeVlanL2StatsTable 1 }

    ExtremeVlanL2StatsEntry ::=
        SEQUENCE {
                    extremeVlanL2StatsIfDescr              DisplayString,
                    extremeVlanL2StatsPktsToCpu            Counter64,
                    extremeVlanL2StatsPktsLearnt           Counter64,
                    extremeVlanL2StatsIgmpCtrlPktsSnooped  Counter64,
                    extremeVlanL2StatsIgmpDataPktsSwitched Counter64
        }
        
    extremeVlanL2StatsIfDescr      OBJECT-TYPE
        SYNTAX                    DisplayString (SIZE(0..32))
        MAX-ACCESS              read-only
        STATUS                    current
        DESCRIPTION
            "This is a description(name) of the VLAN."
    ::= {extremeVlanL2StatsEntry 1}

    extremeVlanL2StatsPktsToCpu    OBJECT-TYPE
        SYNTAX                  Counter64
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
            "The total number of packets of this VLAN sent to the CPU."
    ::= { extremeVlanL2StatsEntry 2 }

    extremeVlanL2StatsPktsLearnt    OBJECT-TYPE
        SYNTAX                  Counter64
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
            "The total number of packets learnt on this VLAN."
    ::= { extremeVlanL2StatsEntry 3 }

    extremeVlanL2StatsIgmpCtrlPktsSnooped   OBJECT-TYPE
        SYNTAX                          Counter64
        MAX-ACCESS                      read-only
        STATUS                          current
        DESCRIPTION
            "The total number of IGMP control packets snooped on this VLAN."
    ::= { extremeVlanL2StatsEntry 4 }

    extremeVlanL2StatsIgmpDataPktsSwitched  OBJECT-TYPE
        SYNTAX                          Counter64
        MAX-ACCESS                      read-only
        STATUS                          current
        DESCRIPTION
            "The total number of IGMP data packets switched on this VLAN."
    ::= { extremeVlanL2StatsEntry 5 }

        extremeVlanAggregationTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF ExtremeVlanAggregationEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                "This table contains the VLAN aggregation information."
                ::= { extremeVlanAggregationGroup 1 }

        extremeVlanAggregationEntry       OBJECT-TYPE
                SYNTAX      ExtremeVlanAggregationEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                "Information about the individual VLAN aggregation entry."
                INDEX   { extremeVlanAggregationSuperVlanIfIndex, 
                          extremeVlanAggregationSubVlanIfIndex }
                ::= { extremeVlanAggregationTable 1 }

        ExtremeVlanAggregationEntry ::= SEQUENCE {
                extremeVlanAggregationSuperVlanIfIndex              Integer32,
                extremeVlanAggregationSubVlanIfIndex                Integer32,
                extremeVlanAggregationSubVlanStartIpNetAddress  IpAddress,
                extremeVlanAggregationSubVlanStartIpNetMask        IpAddress,
                extremeVlanAggregationSubVlanEndIpNetAddress        IpAddress,
                extremeVlanAggregationSubVlanEndIpNetMask        IpAddress,
                extremeVlanAggregationStatus                        RowStatus
        }
       
        extremeVlanAggregationSuperVlanIfIndex    OBJECT-TYPE
                SYNTAX      Integer32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                "The Super Vlan index for this entry."
                ::= { extremeVlanAggregationEntry 1 }

        extremeVlanAggregationSubVlanIfIndex    OBJECT-TYPE
                SYNTAX      Integer32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                "The Sub Vlan index for this entry."
                ::= { extremeVlanAggregationEntry 2 }

        extremeVlanAggregationSubVlanStartIpNetAddress    OBJECT-TYPE
                SYNTAX      IpAddress
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                "This represents the start network address of the IP range."
                ::= { extremeVlanAggregationEntry 3 }
       
        extremeVlanAggregationSubVlanStartIpNetMask    OBJECT-TYPE
                SYNTAX      IpAddress
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                "This represents the start network address mask of the IP range"
                ::= { extremeVlanAggregationEntry 4 }
                                         
        extremeVlanAggregationSubVlanEndIpNetAddress    OBJECT-TYPE
                SYNTAX      IpAddress
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                "This represents the end network address of the IP range."
                ::= { extremeVlanAggregationEntry 5 }
               
        extremeVlanAggregationSubVlanEndIpNetMask    OBJECT-TYPE
                SYNTAX      IpAddress
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                "This represents the end network address mask of the IP range."
                ::= { extremeVlanAggregationEntry 6 }                                         
        extremeVlanAggregationStatus                OBJECT-TYPE
               SYNTAX       RowStatus
               MAX-ACCESS   read-create
               STATUS            current
               DESCRIPTION
               "The status of this entry."
               ::= { extremeVlanAggregationEntry 7 }
        
        extremeVlanAggregationConfigTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF ExtremeVlanAggregationConfigEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                "This table contains the sub VLAN proxy setting information."
                ::= { extremeVlanAggregationGroup 2 }
        
        extremeVlanAggregationConfigEntry       OBJECT-TYPE
                SYNTAX      ExtremeVlanAggregationConfigEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                "Information about the individual VLAN aggregation entry."
                INDEX   { extremeVlanAggregationConfigSuperVlanIfIndex }
                ::= { extremeVlanAggregationConfigTable 1 }
        
        ExtremeVlanAggregationConfigEntry ::= SEQUENCE {
                extremeVlanAggregationConfigSuperVlanIfIndex         Integer32,
                extremeVlanAggregationConfigSubVlanProxyEnable        TruthValue
        }

        extremeVlanAggregationConfigSuperVlanIfIndex    OBJECT-TYPE
                SYNTAX      Integer32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                "The Super Vlan index for this entry."
                ::= { extremeVlanAggregationConfigEntry 1 }

        extremeVlanAggregationConfigSubVlanProxyEnable    OBJECT-TYPE
                SYNTAX      TruthValue
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                "The boolean flag that prevents normal communication between sub vlans."
                ::= { extremeVlanAggregationConfigEntry 2 }
    

        extremeVlanTranslationTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF ExtremeVlanTranslationEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                "This table contains the VLAN translation information."
                ::= { extremeVlanTranslationGroup 1 }

        extremeVlanTranslationEntry       OBJECT-TYPE
                SYNTAX      ExtremeVlanTranslationEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                "Information about the individual VLAN translation entry."
                INDEX   { extremeVlanTranslationSuperVlanIfIndex, 
                          extremeVlanTranslationMemberVlanIfIndex }
                ::= { extremeVlanTranslationTable 1 }

        ExtremeVlanTranslationEntry ::= SEQUENCE {
                  extremeVlanTranslationSuperVlanIfIndex             Integer32,
                  extremeVlanTranslationMemberVlanIfIndex        Integer32,
                  extremeVlanTranslationStatus                        RowStatus
        }
          
        extremeVlanTranslationSuperVlanIfIndex    OBJECT-TYPE
                SYNTAX      Integer32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The Super Vlan index for this entry."
                ::= { extremeVlanTranslationEntry 1 }

        extremeVlanTranslationMemberVlanIfIndex    OBJECT-TYPE
                SYNTAX      Integer32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The member Vlan index for this entry."
                ::= { extremeVlanTranslationEntry 2 }
     
        extremeVlanTranslationStatus                OBJECT-TYPE
               SYNTAX                RowStatus
               MAX-ACCESS        read-create
               STATUS                current
               DESCRIPTION
                        "The status of this entry."
               ::= { extremeVlanTranslationEntry 3 }

       extremePortVlanStatsTable   OBJECT-TYPE
               SYNTAX  ExtremePortVlanStatsTable
               MAX-ACCESS      not-accessible
               STATUS  current
               DESCRIPTION
                   "Vlan statistics per port."
               INDEX { extremeStatsPortIfIndex, extremeStatsVlanNameIndex }
               ::= { extremeVlanStatsGroup 2 }

       ExtremePortVlanStatsTable ::= SEQUENCE {
               extremeStatsPortIfIndex                            Integer32,
               extremeStatsVlanNameIndex                          DisplayString,
               extremePortVlanStatsCntrType                       Integer32,
               extremePortVlanUnicastReceivedPacketsCounter       Counter64,
               extremePortVlanMulticastReceivedPacketsCounter     Counter64,
               extremePortVlanBroadcastReceivedPacketsCounter     Counter64,
               extremePortVlanTotalReceivedBytesCounter           Counter64,
               extremePortVlanTotalReceivedFramesCounter          Counter64,
               extremePortVlanUnicastTransmittedPacketsCounter    Counter64,
               extremePortVlanMulticastTransmittedPacketsCounter  Counter64,
               extremePortVlanBroadcastTransmittedPacketsCounter  Counter64,
               extremePortVlanTotalTransmittedBytesCounter        Counter64,
               extremePortVlanTotalTransmittedFramesCounter       Counter64,
               extremePortConfigureVlanStatus                     RowStatus
       }

       extremeStatsPortIfIndex OBJECT-TYPE
               SYNTAX  Integer32
               MAX-ACCESS  read-only
               STATUS  current
               DESCRIPTION
                 "The index of this table."
               ::= { extremePortVlanStatsTable 1 }

       extremeStatsVlanNameIndex OBJECT-TYPE
               SYNTAX  DisplayString (SIZE(0..32))
               MAX-ACCESS  read-only
               STATUS  current
               DESCRIPTION
                 "The index of this table."
               ::= { extremePortVlanStatsTable 2 }

       extremePortVlanStatsCntrType OBJECT-TYPE
               SYNTAX  Integer32
               MAX-ACCESS  read-only
               STATUS  current
               DESCRIPTION
                 "The flag to decide what fields to display, basic
                  or extended. Currently, it is read-only and will
                  reflect whatever has been set for the switch
                  through the cli."
               ::= { extremePortVlanStatsTable 3 }


       extremePortVlanUnicastReceivedPacketsCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The number of Unicast packets received by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsTable 4 }

       extremePortVlanMulticastReceivedPacketsCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The number of Multicast packets received by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsTable 5 }


       extremePortVlanBroadcastReceivedPacketsCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The number of Broadcast packets received by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsTable 6 }

       extremePortVlanTotalReceivedBytesCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The total number of bytes received by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsTable 7 }

       extremePortVlanTotalReceivedFramesCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The total number of frames received by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsTable 8 }

       extremePortVlanUnicastTransmittedPacketsCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The number of Unicast packets transmitted by a
                  port for a particular VLAN."
               ::= { extremePortVlanStatsTable 9 }

       extremePortVlanMulticastTransmittedPacketsCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The number of Multicast packets transmitted by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsTable 10 }

       extremePortVlanBroadcastTransmittedPacketsCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The number of Broadcast packets transmitted by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsTable 11 }

       extremePortVlanTotalTransmittedBytesCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The total number of bytes transmitted by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsTable 12 }

       extremePortVlanTotalTransmittedFramesCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The total number of frames transmitted by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsTable 13 }

       extremePortConfigureVlanStatus  OBJECT-TYPE
               SYNTAX  RowStatus
               MAX-ACCESS  read-create
               STATUS current
               DESCRIPTION
                  "The row status variable, used according to
                   row installation and removal conventions."
               ::= { extremePortVlanStatsTable 14 }

END

-- ################################################################################

EXTREME-PORT-MIB DEFINITIONS ::= BEGIN

        IMPORTS
        MODULE-IDENTITY         FROM SNMPv2-SMI
        RowStatus               FROM SNMPv2-TC
        OBJECT-TYPE             FROM SNMPv2-SMI
        ifIndex                 FROM RFC1213-MIB
        ClientAuthType          FROM EXTREME-BASE-MIB
        extremeAgent            FROM EXTREME-BASE-MIB
        Counter64               FROM SNMPv2-SMI
        extremeVlanIfIndex      FROM EXTREME-VLAN-MIB
        Counter32, TimeTicks    FROM SNMPv2-SMI 
        IpAddress               FROM SNMPv2-SMI 
        MacAddress              FROM SNMPv2-TC
        DisplayString           FROM RFC1213-MIB;

        extremePort MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme network port objects"
        ::= { extremeAgent 4 }


    ExtremePortTrafficDirection ::= INTEGER {
        ingress(1),
        egress(2)
    }

--
-- Load-sharing. Table exists but support removed for 6.0.
--
    extremePortLoadshareTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortLoadshareEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
                      "A table of bindings between a master port 
                        and its load-sharing slaves: create/delete 
                        entries here to add/delete a port to/from a 
                        load-sharing group. Default is empty table. 
                        There are restrictions on what row creates 
                        will be accepted by each device - see Summit 
                        release notes for details."
    ::= { extremePort 1 }

    extremePortLoadshareEntry OBJECT-TYPE
        SYNTAX  ExtremePortLoadshareEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
                      "A binding between a master port and one
                       of its load-sharing slave ports."
                INDEX { extremePortLoadshareMasterIfIndex, 
                        extremePortLoadshareSlaveIfIndex } 
    ::= { extremePortLoadshareTable 1 }

    ExtremePortLoadshareEntry ::= SEQUENCE {
                extremePortLoadshareMasterIfIndex INTEGER, 
                extremePortLoadshareSlaveIfIndex INTEGER,
           extremePortLoadshareGrouping    INTEGER,
                extremePortLoadshareStatus RowStatus 
    }

    extremePortLoadshareMasterIfIndex OBJECT-TYPE
--              SYNTAX INTEGER
                SYNTAX    INTEGER (1..65535)
                MAX-ACCESS  read-create
                STATUS deprecated
                DESCRIPTION
                      "The ifIndex value which identifies the
                       port controlling a loadsharing group
                       of ports which includes
                       extremePortLoadshareSlaveIfIndex."
        ::= { extremePortLoadshareEntry 1 }

    extremePortLoadshareSlaveIfIndex OBJECT-TYPE
--              SYNTAX INTEGER
                SYNTAX    INTEGER (1..65535)
                MAX-ACCESS  read-create
                STATUS deprecated
                DESCRIPTION
                      "The ifIndex value which identifies the
                       port which is a member of a loadsharing 
                       group controlled by 
                        extremePortLoadshareMasterIfIndex."
        ::= { extremePortLoadshareEntry 2 }

    extremePortLoadshareGrouping OBJECT-TYPE
                SYNTAX INTEGER { other (1), pair (2), quad (4) }
                MAX-ACCESS  read-create
                STATUS deprecated
                DESCRIPTION
                      "The Grouping value which identifies if load sharing is
                      in pair or quad."
        ::= { extremePortLoadshareEntry 3 }

    extremePortLoadshareStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS deprecated
                DESCRIPTION
                        "The row status variable, used according to
                        row installation and removal conventions."
        ::= { extremePortLoadshareEntry 4 }

-- Support dropped in 6.0

-- Summitlink Table

        extremePortSummitlinkTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortSummitlinkEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
                      "A table of Extreme link configuration
                        and status information. Contains a row 
                        for only those ports that are capable of 
                        operating in Summitlink-mode."
    ::= { extremePort 2 }

    extremePortSummitlinkEntry OBJECT-TYPE
        SYNTAX  ExtremePortSummitlinkEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
                      "Link configuration and status information
                        for a Summitlink Port."
               INDEX { ifIndex }
    ::= { extremePortSummitlinkTable 1 }

        ExtremePortSummitlinkEntry ::=  SEQUENCE {
                extremePortSummitlinkAdminMode INTEGER,
                extremePortSummitlinkOperMode INTEGER,
                extremePortSummitlinkState INTEGER,
                extremePortSummitlinkRejectReason INTEGER
        } 

        extremePortSummitlinkAdminMode OBJECT-TYPE
                SYNTAX INTEGER { ethernetOnly(1), summitlinkOnly(2) }
                MAX-ACCESS  read-write
                STATUS deprecated
                DESCRIPTION
                      "Configurable operating mode for this
                       Summitlink port. Configure to summitlinkOnly(1)
                       before connecting this port to a SummitVC device."
                DEFVAL { ethernetOnly }
        ::= { extremePortSummitlinkEntry 1 }

        extremePortSummitlinkOperMode OBJECT-TYPE
                SYNTAX INTEGER { ethernetOnly(1), summitlinkOnly(2) }
                MAX-ACCESS  read-only
                STATUS deprecated
                DESCRIPTION
                      "Actual Operating mode."
                DEFVAL { ethernetOnly }
        ::= { extremePortSummitlinkEntry 2 }
 
        extremePortSummitlinkState OBJECT-TYPE
                SYNTAX INTEGER { up(1), down(2) }
                MAX-ACCESS  read-only
                STATUS deprecated
                DESCRIPTION
                      "Current status of a Summitlink link. Where a port
                        has redundant PMD capability, this indicates up if
                        either of the PMDs has an active link."
        ::= { extremePortSummitlinkEntry 3 }

        extremePortSummitlinkRejectReason OBJECT-TYPE
                SYNTAX INTEGER { none(1), other(2), stackMisconnected(3) }
                MAX-ACCESS  read-only
                STATUS deprecated
                DESCRIPTION
                     "If a Summitlink connection has been attempted 
                        and failed to reach the up(1) state, this 
                        indicates the potential source of the failure."
        ::= { extremePortSummitlinkEntry 4 }


--
-- New load share table for 6.0
--
    extremePortLoadshare2Table OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortLoadshare2Entry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "A table of bindings between a master port 
                        and its load-sharing slaves: create/delete 
                        entries here to add/delete a port to/from a 
                        load-sharing group. Default is empty table. 
                        There are restrictions on what row creates 
                        will be accepted by each device - see Summit 
                        release notes for details."
    ::= { extremePort 3 }

    extremePortLoadshare2Entry OBJECT-TYPE
        SYNTAX  ExtremePortLoadshare2Entry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "A binding between a master port and one
                       of its load-sharing slave ports."
                INDEX { extremePortLoadshare2MasterIfIndex, 
                        extremePortLoadshare2SlaveIfIndex } 
    ::= { extremePortLoadshare2Table 1 }

    ExtremePortLoadshare2Entry ::= SEQUENCE {
                extremePortLoadshare2MasterIfIndex INTEGER, 
                extremePortLoadshare2SlaveIfIndex  INTEGER,
           extremePortLoadshare2Algorithm       INTEGER,
                extremePortLoadshare2Status        RowStatus 
    }

    extremePortLoadshare2MasterIfIndex OBJECT-TYPE
--              SYNTAX INTEGER
                SYNTAX    INTEGER (1..65535)
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                      "The ifIndex value which identifies the
                       port controlling a loadsharing group
                       of ports which includes
                       extremePortLoadshareSlaveIfIndex."
        ::= { extremePortLoadshare2Entry 1 }

    extremePortLoadshare2SlaveIfIndex OBJECT-TYPE
--              SYNTAX INTEGER
                SYNTAX    INTEGER (1..65535)
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                      "The ifIndex value which identifies the
                       port which is a member of a loadsharing 
                       group controlled by extremePortLoadshare2MasterIfIndex."
        ::= { extremePortLoadshare2Entry 2 }

    extremePortLoadshare2Algorithm OBJECT-TYPE
                SYNTAX INTEGER { ingressPortOffset (1),
                                 hash (2),
                                 roundRobin (3) }
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                      "This value identifies the load sharing algorithm
                      to be used for this group of load shared ports."
        ::= { extremePortLoadshare2Entry 3 }

    extremePortLoadshare2Status OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The row status variable, used according to
                        row installation and removal conventions."
        ::= { extremePortLoadshare2Entry 4 }

----
-- Port Rate Shape Table
----
    extremePortRateShapeTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortRateShapeEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "A list of ports that have ingress rate limiting
                       enforced."
    ::= { extremePort 4 }

    extremePortRateShapeEntry OBJECT-TYPE
        SYNTAX  ExtremePortRateShapeEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "An entry that is either a rate limited or
                       a loopback port. Any vlan that has rate
               limited ports should have one loopback port
               defined. The traffic parameters for the rate
               limited ports correspond to those that are
               defined for the loopback port in the
               extremePerPortQosTable."
                INDEX { ifIndex, extremeVlanIfIndex }
    ::= { extremePortRateShapeTable 1 }

    ExtremePortRateShapeEntry ::= SEQUENCE {
           extremePortRateShapePortType      INTEGER,
        extremePortRateShapeLoopbackTag   INTEGER,
                extremePortRateShapeStatus        RowStatus 
    }

    extremePortRateShapePortType OBJECT-TYPE
                SYNTAX INTEGER 
                {
                                rateLimited(1),
                                loopBack(2)
                }
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                      "Whether a loopback or rate limited port." 
        ::= { extremePortRateShapeEntry 1 }

    extremePortRateShapeLoopbackTag OBJECT-TYPE
        SYNTAX     INTEGER (2..4094)
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "An unique internal tag that will needs to be set
            up for the vlan corresponding to this entry for
            adding ingress rate limited ports to the corresponding
            vlan."
        ::= { extremePortRateShapeEntry 2 }

    extremePortRateShapeStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The row status variable, used according to
                        row installation and removal conventions."
        ::= { extremePortRateShapeEntry 3 }

--
-- Per Port QoSReport Table
--
    extremePortUtilizationTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremePortUtilizationEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Global Qos Profiles are defined in the
                extremeQosProfileTable. This table contains a list
                    of ports for which certain QoS parms are reported."
        ::= { extremePort 5 }

    extremePortUtilizationEntry    OBJECT-TYPE
        SYNTAX    ExtremePortUtilizationEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual QoSReport Entry."
        INDEX {ifIndex}
        ::= {extremePortUtilizationTable 1}

    ExtremePortUtilizationEntry ::= SEQUENCE {
                extremePortUtilizationAvgTxBw        Integer32,
                extremePortUtilizationAvgRxBw        Integer32,
                extremePortUtilizationPeakTxBw       Integer32,
                extremePortUtilizationPeakRxBw       Integer32
        }

        extremePortUtilizationAvgTxBw  OBJECT-TYPE
--              SYNTAX  INTEGER
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported average bandwidth in the txmit direction. When displayed
                    it shows as an Integer value i.e 99.99% is displayed as 9999."
                ::= {extremePortUtilizationEntry 1 }

                
        extremePortUtilizationAvgRxBw    OBJECT-TYPE
--              SYNTAX  INTEGER
                SYNTAX    Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                 "The reported average bandwidth in the receive direction. When displayed
                    it shows as an Integer value i.e 99.99% is displayed as 9999." 
                ::= {extremePortUtilizationEntry 2 }

        extremePortUtilizationPeakTxBw  OBJECT-TYPE
--              SYNTAX  INTEGER
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                   "The reported peak bandwidth in the txmit direction. When displayed
                    it shows as an Integer value i.e 99.99% is displayed as 9999."
                ::= {extremePortUtilizationEntry 3 }


        extremePortUtilizationPeakRxBw  OBJECT-TYPE
--              SYNTAX  INTEGER
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The reported peak bandwidth in the receive direction. When displayed
                    it shows as an Integer value i.e 99.99% is displayed as 9999."
                ::= {extremePortUtilizationEntry 4 }

--
-- Per Port Information Table
--
       extremePortInfoTable   OBJECT-TYPE
               SYNTAX  SEQUENCE OF ExtremePortInfoEntry
               MAX-ACCESS  not-accessible
               STATUS current
               DESCRIPTION
                "This table contains a list of port information."
               ::= { extremePort 6 }

       extremePortInfoEntry   OBJECT-TYPE
               SYNTAX  ExtremePortInfoEntry
               MAX-ACCESS      not-accessible
               STATUS  current
               DESCRIPTION
                   "An individual Port Information Entry."
               INDEX {ifIndex}
               ::= {extremePortInfoTable 1}

       ExtremePortInfoEntry ::= SEQUENCE {
               extremePortInfoFilterUpCounter        Counter32,
               extremePortInfoFilterDownCounter      Counter32
       }

       extremePortInfoFilterUpCounter  OBJECT-TYPE
               SYNTAX  Counter32
--             MAX-ACCESS  read-write
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The reported Port Filter up counter value.
                  This counter indicates the number of times a port's link
                  state has transitioned from DOWN to UP state. "
               ::= {extremePortInfoEntry 1 }


       extremePortInfoFilterDownCounter        OBJECT-TYPE
               SYNTAX        Counter32
--             MAX-ACCESS  read-write
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The reported Port Filter down counter value.
                  This counter indicates the number of times a port's link
                  state has transitioned from UP to DOWN state. "
               ::= {extremePortInfoEntry 2 }

--
-- extremePortXenpakVendor Table
--

        extremePortXenpakVendorTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortXenpakVendorEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "A table of Extreme Xenpak Module Vendor Name
                        and type information. Contains a row 
                        for only those ports that are part of 
                        Xenpak module ."
    ::= { extremePort 7 }

    extremePortXenpakVendorEntry OBJECT-TYPE
        SYNTAX  ExtremePortXenpakVendorEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "Vendor name and type for Xenpak module."
               INDEX { ifIndex }
    ::= { extremePortXenpakVendorTable 1 }

        ExtremePortXenpakVendorEntry ::=  SEQUENCE {
                extremePortXenpakVendorName DisplayString
        } 

          extremePortXenpakVendorName OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(0..22))
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                      "A human-readable string representing Vendor name 
                        of this module.
                        This string should be the same for all entries
                        having the same Xenpak module: 
                        this entry may not be modified."
    ::= { extremePortXenpakVendorEntry 1 }

--
-- Per Port Ingress Statistics Table
--

        extremePortIngressStats OBJECT IDENTIFIER
        ::= { extremePort 8 }

        extremePortIngressStatsPortTable        OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremePortIngressPortStatsEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                    "Port ingress statistics are returned for ports which
                    support ingress queuing. This table contains a list
                    of counters for each port."
                ::= { extremePortIngressStats 1 }

        extremePortIngressPortStatsEntry        OBJECT-TYPE
                SYNTAX  ExtremePortIngressPortStatsEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual IngressStats Entry."
                INDEX {ifIndex}
                ::= {extremePortIngressStatsPortTable 1}

        ExtremePortIngressPortStatsEntry ::= SEQUENCE {
--                extremePortIngressStatsPortIndex          INTEGER,
                extremePortIngressStatsLinkStatus         INTEGER,
                extremePortIngressStatsPortHighPriBytes   Counter64,
                extremePortIngressStatsPortLowPriBytes    Counter64,
                extremePortIngressStatsPortDroppedBytes   Counter64,
                extremePortIngressStatsTxXoff             Counter64 
        }


--        extremePortIngressStatsPortIndex  OBJECT-TYPE
--              SYNTAX  INTEGER
--                MAX-ACCESS  read-only  
--                STATUS current
--                DESCRIPTION
--                   "The index of the port being queried."
--                ::= {extremePortIngressPortStatsEntry 1 }

        extremePortIngressStatsLinkStatus  OBJECT-TYPE
                SYNTAX  INTEGER {
                        ready(1),
                        active(2),
                        disabled(3),
                        notPresent(4)
                }
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The current status of the link. Ready indicates the port is ready
                   to accept a link; Active indicates the link is present at this port;
                   Disabled shows that the link is disabled at this port; Not Present
                   means the link is not present at this port."
                ::= {extremePortIngressPortStatsEntry 1 }

                
        extremePortIngressStatsPortHighPriBytes OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                 "The sum of all per queue CIR counts for this port, which indicates the
                 bytes forwarded for high-priority packets." 
                ::= {extremePortIngressPortStatsEntry 2 }

        extremePortIngressStatsPortLowPriBytes  OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                   "The sum of all per queue PR counts for this port, which indicates the
                   bytes forwarded for low-priority packets."
                ::= {extremePortIngressPortStatsEntry 3 }

        extremePortIngressStatsPortDroppedBytes  OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The total number of bytes dropped for this port."
                ::= {extremePortIngressPortStatsEntry 4 }
                
        extremePortIngressStatsTxXoff  OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The number of XOFF Flow Control packets sent from this port due to
                 receive traffic congestion."
                ::= {extremePortIngressPortStatsEntry 5 }
                

--
-- Per Queue Ingress Statistics Table
--        

        extremePortIngressStatsQueueTable       OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremePortIngressQueueStatsEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                    "Port ingress statistics are returned for ingress queues. 
                    This table contains a list of counters for each ingress
                    queue."
                ::= { extremePortIngressStats 2 }

        extremePortIngressQueueStatsEntry       OBJECT-TYPE
                SYNTAX  ExtremePortIngressQueueStatsEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual IngressStatsQueue Entry."
                INDEX {ifIndex,
                       extremePortIngressStatsQueueIndex}
                ::= {extremePortIngressStatsQueueTable 1}

        ExtremePortIngressQueueStatsEntry ::= SEQUENCE {
--                extremePortIngressStatsQueuePortIndex      INTEGER,
--                extremePortIngressStatsQueueIndex          INTEGER,
                extremePortIngressStatsQueueIndex          Integer32,
                extremePortIngressStatsQueueHighPriBytes   Counter64,
                extremePortIngressStatsQueueLowPriBytes    Counter64,
--                extremePortIngressStatsQueuePercentDropped INTEGER
                extremePortIngressStatsQueuePercentDropped Integer32
        }
        
--        extremePortIngressStatsQueuePortIndex  OBJECT-TYPE
--                SYNTAX  INTEGER
--                MAX-ACCESS  read-only  
--                STATUS current
--                DESCRIPTION
--                   "The index of the port being queried."
--                ::= {extremePortIngressQueueStatsEntry 1 }


        extremePortIngressStatsQueueIndex  OBJECT-TYPE
--              SYNTAX  INTEGER
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The ingress queue being queried."
                ::= {extremePortIngressQueueStatsEntry 1 }

        extremePortIngressStatsQueueHighPriBytes        OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                 "The sum of all per queue CIR counts for this queue, which indicates the
                 bytes forwarded for high-priority packets." 
                ::= {extremePortIngressQueueStatsEntry 2 }

        extremePortIngressStatsQueueLowPriBytes  OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                   "The sum of all per queue PR counts for this queue, which indicates the
                   bytes forwarded for low-priority packets."
                ::= {extremePortIngressQueueStatsEntry 3 }

        extremePortIngressStatsQueuePercentDropped  OBJECT-TYPE
--                SYNTAX  INTEGER
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The percentage of receive bytes dropped by this queue relative to the total
                 number of bytes input to this queue."
                ::= {extremePortIngressQueueStatsEntry 4 }

                

--
-- Per Port Egress Rate Limit Table
--
        extremePortEgressRateLimitTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremePortEgressRateLimitEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                    "Port egress rate limit statistics for a port."
                ::= { extremePort 9 }

        extremePortEgressRateLimitEntry OBJECT-TYPE
                SYNTAX  ExtremePortEgressRateLimitEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual EgressRateLimit Entry."
                INDEX {ifIndex}
                ::= {extremePortEgressRateLimitTable 1}

        ExtremePortEgressRateLimitEntry ::= SEQUENCE {
--                extremePortEgressRateLimitPortIndex          INTEGER,
                extremePortEgressRateLimitType               INTEGER,
--                extremePortEgressRateLimitValue              INTEGER
                extremePortEgressRateLimitValue              Integer32
        }
        
--        extremePortEgressRateLimitPortIndex  OBJECT-TYPE
--                SYNTAX  INTEGER
--                MAX-ACCESS  read-only  
--                STATUS current
--                DESCRIPTION
--                   "The index of the port being queried."
--                ::= {extremePortEgressRateLimitEntry 1 }

        extremePortEgressRateLimitType  OBJECT-TYPE
                SYNTAX  INTEGER {
                        percentage(1),
                        kbps(2),
                        mbps(3)
                }
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The type of the current egress rate setting. A value of 1 
                   signifies that the egress rate limit value is represented by
                   a percentage of the maximum configurable port bandwidth. A value 
                   of 2 or 3 signifies the rate is configured in Kbps or Mbps
                   respectively."
                ::= {extremePortEgressRateLimitEntry 1 }

                
        extremePortEgressRateLimitValue OBJECT-TYPE
--                SYNTAX        INTEGER
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                 "The configured egress rate value." 
                ::= {extremePortEgressRateLimitEntry 2 }

--
-- Clients connected to the Port
--
        extremeWiredClientTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeWiredClientEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                    "This table contains the entries for authenticated Clinets."
                ::= { extremePort 10 }

extremeWiredClientEntry OBJECT-TYPE
        SYNTAX          ExtremeWiredClientEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
        "An entry in the extremeWiredClientTable."
    INDEX {ifIndex, extremeWiredClientID}
        ::= { extremeWiredClientTable 1 }

ExtremeWiredClientEntry ::= SEQUENCE {
        extremeWiredClientID                     MacAddress,
        extremeWiredClientState                  INTEGER,
--        extremeWiredClientVLAN                   INTEGER,
        extremeWiredClientVLAN                   Integer32,
--        extremeWiredClientPriority               INTEGER,
        extremeWiredClientPriority               Integer32,
        extremeWiredClientAuthType               ClientAuthType,
                extremeWiredClientLastStateChangeTime    TimeTicks,
        extremeWiredClientIP                     IpAddress}

extremeWiredClientID OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Unique MAC Address of the station for which this address
         table entry pertains."
    ::= { extremeWiredClientEntry 1 }

extremeWiredClientState OBJECT-TYPE
    SYNTAX INTEGER { authenticated (1),
                        unauthenticated (2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This attribute shall indicate the current state of the client. 
         The attribute is enumerated as follows:

        1 - Authenticated - client is authenticated.
        2 - Unauthenticated - the client is connect but unauthenticated.
        "
    ::= { extremeWiredClientEntry 2 }

extremeWiredClientVLAN OBJECT-TYPE
--    SYNTAX          INTEGER
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the per-client VLAN which was pushed over
         by a RADIUS server or other mechanism."
    ::= { extremeWiredClientEntry 3 }

extremeWiredClientPriority OBJECT-TYPE
--    SYNTAX          INTEGER
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is a per-client 802.1p value which was either
         configured by the RADIUS server or statically through
         the port configuration table."
    ::= { extremeWiredClientEntry 4 }

extremeWiredClientAuthType OBJECT-TYPE
    SYNTAX          ClientAuthType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is an indication of what access method was
         used to authenticated the client."
    ::= { extremeWiredClientEntry 5 }

extremeWiredClientLastStateChangeTime OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is the sysUpTime of the switch when the clients state changed last"
    ::= { extremeWiredClientEntry 6 }

extremeWiredClientIP OBJECT-TYPE
    SYNTAX          IpAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "IP Address of the wired client."
    ::= { extremeWiredClientEntry 7 }

--
-- Per Port Utilization Extension Table
--
    extremePortUtilizationExtnTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremePortUtilizationExtnEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Global Qos Profiles are defined in the
             extremeQosProfileTable. This table contains a list
             of ports for which certain QoS parms are reported."
        ::= { extremePort 11 }

    extremePortUtilizationExtnEntry    OBJECT-TYPE
        SYNTAX    ExtremePortUtilizationExtnEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual QoSReport Entry."
        INDEX {ifIndex}
        ::= {extremePortUtilizationExtnTable 1}

    ExtremePortUtilizationExtnEntry ::= SEQUENCE {
                extremePortUtilizationAvgTxPkts      Integer32,
                extremePortUtilizationAvgRxPkts      Integer32,
                extremePortUtilizationPeakTxPkts     Integer32,
                extremePortUtilizationPeakRxPkts     Integer32,
                extremePortUtilizationAvgTxBytes     Integer32,
                extremePortUtilizationAvgRxBytes     Integer32,
                extremePortUtilizationPeakTxBytes    Integer32,
                extremePortUtilizationPeakRxBytes    Integer32
        }

        extremePortUtilizationAvgTxPkts  OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of average packets in the transmit direction 
                    per second."
                ::= {extremePortUtilizationExtnEntry 1 }

        extremePortUtilizationAvgRxPkts  OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of average packets in the receive direction 
                    per second."
                ::= {extremePortUtilizationExtnEntry 2 }
                
        extremePortUtilizationPeakTxPkts OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of peak packets in the transmit direction
                    per second."
                ::= {extremePortUtilizationExtnEntry 3 }

        extremePortUtilizationPeakRxPkts OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of peak packets in the receive direction 
                    per second."
                ::= {extremePortUtilizationExtnEntry 4 }

        extremePortUtilizationAvgTxBytes  OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of average bytes in the transmit direction 
                    per second."
                ::= {extremePortUtilizationExtnEntry 5 }

        extremePortUtilizationAvgRxBytes  OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of average bytes in the receive direction
                    per second."
                ::= {extremePortUtilizationExtnEntry 6 }
                
        extremePortUtilizationPeakTxBytes OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of peak bytes in the transmit direction
                    per second."
                ::= {extremePortUtilizationExtnEntry 7 }

        extremePortUtilizationPeakRxBytes OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of peak bytes in the receive direction 
                    per second."
                ::= {extremePortUtilizationExtnEntry 8 }

--
-- Per Port QoS Stats Table
--

    extremePortQosStatsTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortQosStatsEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists Ports Qos information for either 
             ingress or egress"
        ::= { extremePort 12 }

    extremePortQosStatsEntry OBJECT-TYPE
        SYNTAX  ExtremePortQosStatsEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "An port related qos information for each   
            port entry." 
        INDEX {ifIndex, extremePortQosIngress}
    ::= { extremePortQosStatsTable 1 }

    ExtremePortQosStatsEntry ::=
        SEQUENCE {
            extremePortQosIngress
                ExtremePortTrafficDirection,
            extremePortQP0TxBytes
                Counter64,
            extremePortQP0TxPkts
                Counter64,
            extremePortQP1TxBytes
                Counter64,
            extremePortQP1TxPkts
                Counter64,
            extremePortQP2TxBytes
                Counter64,
            extremePortQP2TxPkts
                Counter64,
            extremePortQP3TxBytes
                Counter64,
            extremePortQP3TxPkts
                Counter64,
            extremePortQP4TxBytes
                Counter64,
            extremePortQP4TxPkts
                Counter64,
            extremePortQP5TxBytes
                Counter64,
            extremePortQP5TxPkts
                Counter64,
            extremePortQP6TxBytes
                Counter64,
            extremePortQP6TxPkts
                Counter64,
            extremePortQP7TxBytes
                Counter64,
            extremePortQP7TxPkts
                Counter64
        }

    extremePortQosIngress OBJECT-TYPE
        SYNTAX  ExtremePortTrafficDirection
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "Indicates whether the port is in ingress/egress"       
    ::= { extremePortQosStatsEntry 1 }

    extremePortQP0TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 0 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 2 }

    extremePortQP0TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 0 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 3 }

    extremePortQP1TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 1 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 4 }

    extremePortQP1TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 1 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 5 }

    extremePortQP2TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 2 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 6 }

    extremePortQP2TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 2 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 7 }

    extremePortQP3TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 3 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 8 }

    extremePortQP3TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 3 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 9 }

    extremePortQP4TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 4 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 10 }

    extremePortQP4TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 4 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 11 }

    extremePortQP5TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 5 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 12 }

    extremePortQP5TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 5 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 13 }

    extremePortQP6TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 6 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 14 }

    extremePortQP6TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 6 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 15 }

    extremePortQP7TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 7 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 16 }

    extremePortQP7TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 7 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 17 }

--
-- Per Port Mau Table
--
extremePortMau OBJECT IDENTIFIER
::= {  extremePort 13 }

extremePortMauTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremePortMauEntry
    MAX-ACCESS  not-accessible
    STATUS current
    DESCRIPTION
        "Port Optics Status Table."
    ::= { extremePortMau 1 }

extremePortMauEntry    OBJECT-TYPE
    SYNTAX      ExtremePortMauEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An individual Port Mau Entry."
    INDEX { ifIndex }
    ::= {extremePortMauTable 1}

ExtremePortMauEntry ::= SEQUENCE {
    extremePortMauType DisplayString,
    extremePortMauVendorName DisplayString,
    extremePortMauStatus INTEGER
    }

extremePortMauType OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..100))
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
         "This object identifies the MAU type."
    ::= {extremePortMauEntry 1 }

extremePortMauVendorName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..100))
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
         "This object identifies the MAU Vendor Name."
    ::= {extremePortMauEntry 2 }

extremePortMauStatus  OBJECT-TYPE
    SYNTAX INTEGER {
        inserted(1),
        empty(2)
        }
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "This object idetifies the status of the mau for this interface."
    ::= {extremePortMauEntry 3 }

extremePortMauTraps OBJECT IDENTIFIER
    ::= {extremePortMau 2}

extremePortMauTrapsPrefix OBJECT IDENTIFIER
    ::= { extremePortMauTraps 0}

extremePortMauChangeTrap NOTIFICATION-TYPE
    OBJECTS { ifIndex,
             extremePortMauType,
             extremePortMauStatus
             }
    STATUS      current
    DESCRIPTION "This trap is sent whenever a  MAU is inserted or removed. When the mau is inserted, the value of extremePortMauStatus will be 'insrted' and extremePortMauType indicates the type of the mau inserted. If mau is removed, the value of extremePortMauStatus is empty and the type of the mau will be NONE"
    ::= { extremePortMauTrapsPrefix 1 }

END

-- ################################################################################

EXTREME-TRAPPOLL-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
                OBJECT-TYPE             FROM SNMPv2-SMI
                RowStatus               FROM SNMPv2-TC
                Integer32, TimeTicks    FROM SNMPv2-SMI
                extremeAgent            FROM EXTREME-BASE-MIB;

        extremeTrapPoll MODULE-IDENTITY
                LAST-UPDATED "9801090000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme SmartTraps trap-based-polling objects"
        ::= { extremeAgent 6 }


        extremeSmartTrapRulesTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeSmartTrapRulesEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION     
                        "A table of rules that are used to 
                        generate extremeSmartTraps."    
        ::= { extremeTrapPoll 1 } 

        extremeSmartTrapRulesEntry OBJECT-TYPE
                SYNTAX  ExtremeSmartTrapRulesEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION     
                        "Each row in the table represents a rule."
                INDEX   { extremeSmartTrapRulesIndex } 
        ::= { extremeSmartTrapRulesTable 1 } 

        ExtremeSmartTrapRulesEntry ::= SEQUENCE {
                extremeSmartTrapRulesIndex              Integer32,
                extremeSmartTrapRulesRowStatus          RowStatus,
                extremeSmartTrapRulesDesiredOID         OBJECT IDENTIFIER,
                extremeSmartTrapRulesSupportedOID       OBJECT IDENTIFIER,
                extremeSmartTrapRulesOperation          INTEGER,
                extremeSmartTrapRulesTrapDestIndex      Integer32
        }

        extremeSmartTrapRulesIndex      OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION     
                        "An index into the extremeSmartTraps rules table. "
        ::= { extremeSmartTrapRulesEntry 1 }

        extremeSmartTrapRulesRowStatus  OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS      read-create
                STATUS  current
                DESCRIPTION     
                        "Indicates the status of row. "
        ::= { extremeSmartTrapRulesEntry 2 }

        extremeSmartTrapRulesDesiredOID OBJECT-TYPE
                SYNTAX  OBJECT IDENTIFIER
                MAX-ACCESS      read-create
                STATUS  current
                DESCRIPTION     
                "The OID for which the rule is desired. When the OID 
                specified by this object undergoes an operation 
                specified by extremeSmartTrapRulesOperation, then 
                an entry in the extremeSmartTrapInstanceTable is created."
        ::= { extremeSmartTrapRulesEntry 3 }

        extremeSmartTrapRulesSupportedOID       OBJECT-TYPE
                SYNTAX  OBJECT IDENTIFIER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION     
                "The OID for which this entry is created. This is 
                based on the granularity supported by the agent 
                corresponding to the extremeSmartTrapRulesDesiredOID 
                that the management station desires. This object has a 
                value that is a prefix of, or is equal to the value of 
                ExtremeSmartTrapRulesDesiredOID. The agent specifes 
                this value before setting the extremeSmartTrapRulesRowStatus 
                to active."
        ::= { extremeSmartTrapRulesEntry 4 }

        extremeSmartTrapRulesOperation  OBJECT-TYPE
                SYNTAX  INTEGER {
                        add(1),
                        delete(2),
                        modify(3),
                        any(4)
                }
                MAX-ACCESS      read-create
                STATUS  current
                DESCRIPTION     
                "The write operations on extremeSmartTrapRulesDesiredOID 
                for which extremeSmartTrapsInstanceEntry should be created."
        ::= { extremeSmartTrapRulesEntry 5 }

        extremeSmartTrapRulesTrapDestIndex OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS      read-create
                STATUS  current
                DESCRIPTION     
                "A pointer to a row in RMON2's trapDestTable that was
                created by the management station that defined 
                this rule. Any extremeSmartTraps generated by this agent due
                to this rule will be sent to the trapDestCommunity/
                trapDestAddress and will include trapDestOwner specified by 
                this trapDestTable entry.

                This also allows a manager to identify if the rule was defined 
                by itself, or by another (possibly older) instance of the 
                management server process. The manager should initiate a 
                poll only for traps received which indicate its own rules. 

                Subprocesses within a single manager might also uniquely 
                create their own entries within trapDestTable using 
                different trapDestOwner strings: when a trap is received, 
                the manager can authenticate if the trap was generated due 
                to one of its rules and route the notification to the
                appropriate subprocess."
        ::= { extremeSmartTrapRulesEntry 6 }

--
-- Table for storing information about the occurence of changes 
-- according to the rules in extremeSmartTrapRulesTable.
--
-- This is a read-only table maintained by the agent. 

        extremeSmartTrapInstanceTable  OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeSmartTrapInstanceEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION     
                "A table representing containing information about
                which variables have changed according to the 
                rules defined in extremeSmartTrapRulesTable."
        ::= { extremeTrapPoll 2 }
        
        extremeSmartTrapInstanceEntry    OBJECT-TYPE
                SYNTAX  ExtremeSmartTrapInstanceEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION     
                "An entry corresponding to a change in value of one of 
                the OIDs defined in extremeSmartTrapRulesTable. Entries
                are indexed by a pointer to the relevant row in 
                RMON2 trapDestTable that a manager created in order to
                receive trap notifications of these events.

                Entries are created in this table whenever the value of 
                one of the OIDs defined by extremeSmartTrapRulesSupportedOID 
                changes. Entries are deleted when a get or get-next operation 
                is performed on that entry. A get operation for a non-existent 
                entry returns a noSuchInstance error."

                INDEX { extremeSmartTrapRulesTrapDestIndex, extremeSmartTrapInstanceSubindex } 
        ::= { extremeSmartTrapInstanceTable 1 } 

        ExtremeSmartTrapInstanceEntry ::= SEQUENCE {
                extremeSmartTrapInstanceSubindex        Integer32,
                extremeSmartTrapInstanceRule            Integer32,
                extremeSmartTrapInstanceChangedOid      OBJECT IDENTIFIER,
                extremeSmartTrapInstanceActualOperation INTEGER,
                extremeSmartTrapInstanceChangeTime      TimeTicks
        }

        extremeSmartTrapInstanceSubindex OBJECT-TYPE
                SYNTAX  Integer32 
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION     
                "An additional index into the table of extremeSmartTrap 
                instance data. Each row which has the same OID for the
                same management station (i.e. same cookie) is assigned
                a unique value by the agent in order to differentiate 
                between multiple instances."
        ::= { extremeSmartTrapInstanceEntry 1 } 

        extremeSmartTrapInstanceRule OBJECT-TYPE
                SYNTAX  Integer32 
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION     
                "The index of the rule from the 
                extremeSmartTrapRulesTable for which this entry 
                was created."
        ::= { extremeSmartTrapInstanceEntry 2 } 

        extremeSmartTrapInstanceChangedOid OBJECT-TYPE
                SYNTAX  OBJECT IDENTIFIER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION     
                "The OID value that has changed."
        ::= { extremeSmartTrapInstanceEntry 3 } 

        extremeSmartTrapInstanceActualOperation OBJECT-TYPE
                SYNTAX  INTEGER {
                        add(1),
                        delete(2),
                        modify(3)
                }                               
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION     
                "The operation that was recently performed on 
                this extremeSmartTrapInstanceChangedOid."
        ::= { extremeSmartTrapInstanceEntry 4 } 

        extremeSmartTrapInstanceChangeTime OBJECT-TYPE
                SYNTAX  TimeTicks
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION     
                "The sysUpTime when this entry was created."
        ::= { extremeSmartTrapInstanceEntry 5 }
        
--
-- Flush control for Trap table
--
        extremeSmartTrapFlushInstanceTableIndex OBJECT-TYPE
                SYNTAX  Integer32 
                MAX-ACCESS      read-write
                STATUS  current
                DESCRIPTION     
                "When this object is set, the agent will delete all rows
                from the extremeSmartTrapInstanceTable which meet the
                following rules: 
                1. The InstanceTableIndex is equal to the value obtained by 
                taking the two most significant bytes of this integer and
                right-shifting it by two bytes as an unsigned int.
                2. The InstanceTableSubIndex is less than or equal to the
                value obtained by masking this object value with 0x0000FFFF.
                If the value obtained is zero, then all rows with the specified
                InstanceTableIndex should be deleted."
        ::= { extremeTrapPoll 3 } 

END

-- ################################################################################


EXTREME-RTSTATS-MIB DEFINITIONS ::= BEGIN

    IMPORTS
                MODULE-IDENTITY, OBJECT-TYPE, TimeTicks,
                    Counter32 FROM SNMPv2-SMI
                extremeAgent    FROM EXTREME-BASE-MIB;

        extremeRtStats MODULE-IDENTITY
                LAST-UPDATED "9906240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION 
                        "Extreme real time stats related objects"
        ::= { extremeAgent 11 }

          extremeRtStatsTable OBJECT-TYPE
              SYNTAX SEQUENCE OF ExtremeRtStatsEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                  "A list of real time stats entries."
              ::= { extremeRtStats 1 }

          extremeRtStatsEntry OBJECT-TYPE
              SYNTAX ExtremeRtStatsEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                  "The last sample of Ethernet statistics on a
                  particular Ethernet interface.  This sample is
                  associated with the RMON historyControlEntry
          which set up the parameters for a regular collection
          of these samples."
              INDEX { extremeRtStatsIndex }
              ::= { extremeRtStatsTable 1 }

          ExtremeRtStatsEntry ::= SEQUENCE {
              extremeRtStatsIndex               INTEGER, 
              extremeRtStatsIntervalStart       TimeTicks,
              extremeRtStatsCRCAlignErrors      Counter32,
              extremeRtStatsUndersizePkts       Counter32,
              extremeRtStatsOversizePkts        Counter32,
              extremeRtStatsFragments           Counter32,
              extremeRtStatsJabbers             Counter32,
              extremeRtStatsCollisions          Counter32,
              extremeRtStatsTotalErrors         Counter32,
              extremeRtStatsUtilization         INTEGER 
          }

          extremeRtStatsIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The history of which this entry is a part.  The
                  history identified by a particular value of this
                  index is the same history as identified by the same
                  value of historyControlIndex of the RMON historyControl
                  table."
              ::= { extremeRtStatsEntry 1 }

          extremeRtStatsIntervalStart OBJECT-TYPE
              SYNTAX TimeTicks
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The value of sysUpTime at the start of the interval
                  over which this sample was measured."
              ::= { extremeRtStatsEntry 2 }

          extremeRtStatsCRCAlignErrors OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The number of packets received during the last
          sampling interval that had a length (excluding
          framing bits but including FCS octets) between 64
          and 1518 octets, inclusive, but had either a bad
          Frame Check Sequence (FCS) with an integral number
          of octets (FCS Error) or a bad FCS with a non-integral
          number of octets (Alignment Error)."
              ::= { extremeRtStatsEntry 3 }

          extremeRtStatsUndersizePkts OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The number of packets received during the last
                  sampling interval that were less than 64 octets
                  long (excluding framing bits but including FCS
                  octets) and were otherwise well formed."
              ::= { extremeRtStatsEntry 4 }

          extremeRtStatsOversizePkts OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The number of packets received during the
                  last sampling interval that were longer than
                  1518 octets (excluding framing bits but including
                  FCS octets) but were otherwise well formed."
              ::= { extremeRtStatsEntry 5 }

          extremeRtStatsFragments OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets received during the
                  last sampling interval that were less than 64 octets
                  in length (excluding framing bits but including FCS
                  octets) had either a bad Frame Check Sequence (FCS)
                  with an integral number of octets (FCS Error) or a bad
                  FCS with a non-integral number of octets (Alignment
                  Error)."
              ::= { extremeRtStatsEntry 6 }

          extremeRtStatsJabbers OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The number of packets received during the last
                  sampling interval that were longer than 1518 octets
                  (excluding framing bits but including FCS octets),
                  and  had either a bad Frame Check Sequence (FCS)
                  with an integral number of octets (FCS Error) or
                  a bad FCS with a non-integral number of octets
                  (Alignment Error)."
              ::= { extremeRtStatsEntry 7 }

          extremeRtStatsCollisions OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The best estimate of the total number of collisions
                  on this Ethernet segment during this sampling
                  interval."
              ::= { extremeRtStatsEntry 8 }

          extremeRtStatsTotalErrors OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of errors on this Ethernet segment
                  during this sampling interval. This is the sum of the
                  crc, fragments, jabbers and collisions counters over
                  this sampling interval."
              ::= { extremeRtStatsEntry 9 }

          extremeRtStatsUtilization OBJECT-TYPE
              SYNTAX INTEGER (0..10000)
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The best estimate of the mean physical layer
                  network utilization on this interface during this
                  sampling interval, in hundredths of a percent."
              ::= { extremeRtStatsEntry 10 }


END


-- ################################################################################

EXTREME-FDB-MIB DEFINITIONS ::= BEGIN

      IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
                OBJECT-TYPE             FROM SNMPv2-SMI
                IpAddress               FROM SNMPv2-SMI
                Counter64               FROM SNMPv2-SMI
                Integer32               FROM SNMPv2-SMI         
                DisplayString, MacAddress, RowStatus       FROM SNMPv2-TC
                extremeAgent, PortList      FROM EXTREME-BASE-MIB;


        extremeFdb MODULE-IDENTITY
                LAST-UPDATED "200502140000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme FDB and IP FDB tables."
        ::= { extremeAgent 16 }

        extremeFdbMacFdbTable   OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeFdbMacFdbEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "A table that contains information about the hardware MAC
                         FDB table."

                ::= { extremeFdb 1 }

        extremeFdbMacFdbEntry   OBJECT-TYPE
                SYNTAX  ExtremeFdbMacFdbEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An entry in the table of MAC FDB information."
                INDEX { extremeFdbMacFdbVlanIfIndex, extremeFdbMacFdbSequenceNumber }
                ::= {extremeFdbMacFdbTable 1}

        ExtremeFdbMacFdbEntry ::= SEQUENCE {
                 extremeFdbMacFdbVlanIfIndex     Integer32,     
                 extremeFdbMacFdbSequenceNumber  Integer32,
                 extremeFdbMacFdbMacAddress      MacAddress,
                 extremeFdbMacFdbPortIfIndex     Integer32,
                 extremeFdbMacFdbStatus          INTEGER
              }

          extremeFdbMacFdbVlanIfIndex OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "The ifIndex of the Vlan on which this mac is learned."
              ::= { extremeFdbMacFdbEntry 1 }

        extremeFdbMacFdbSequenceNumber OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The sequence number of this FDB entry in the forwarding database."
                ::= { extremeFdbMacFdbEntry 2 }

          extremeFdbMacFdbMacAddress OBJECT-TYPE
              SYNTAX  MacAddress
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "A MAC address for which the bridge has
                      forwarding and/or filtering information."
              ::= { extremeFdbMacFdbEntry 3 }

          extremeFdbMacFdbPortIfIndex OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Either the value '0', or the IfIndex of the
                      port on which a frame having a source address
                      equal to the value of the corresponding instance
                      of dot1dTpFdbAddress has been seen.  A value of
                      '0' indicates that the port IfIndex has not been
                      learned but that the bridge does have some
                      forwarding/filtering information about this
                      address (e.g. in the dot1dStaticTable)."
              ::= { extremeFdbMacFdbEntry 4 }

          extremeFdbMacFdbStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),
                          invalid(2),
                          learned(3),
                          self(4),
                          mgmt(5)
                      }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The status of this entry.  
                      This is the value of dot1dTpFdbStatus in RFC1493."
              ::= { extremeFdbMacFdbEntry 5 }


        extremeFdbIpFdbTable    OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeFdbIpFdbEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "A table that contains information about the hardware IP
                         FDB table."
                ::= { extremeFdb 2 }

        extremeFdbIpFdbEntry    OBJECT-TYPE
                SYNTAX  ExtremeFdbIpFdbEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An entry in the table of IP FDB information."
                INDEX { extremeFdbIpFdbSequenceNumber }
                ::= {extremeFdbIpFdbTable 1}

        ExtremeFdbIpFdbEntry ::= SEQUENCE {
                  extremeFdbIpFdbSequenceNumber  Integer32,
                  extremeFdbIpFdbIPAddress       IpAddress,
                  extremeFdbIpFdbMacAddress      MacAddress,
                  extremeFdbIpFdbVlanIfIndex     Integer32,
                  extremeFdbIpFdbPortIfIndex     Integer32
              }


        extremeFdbIpFdbSequenceNumber OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "The sequence number of this entry in the IP FDB"
              ::= { extremeFdbIpFdbEntry 1 }

        extremeFdbIpFdbIPAddress OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The IP Address of the IP FDB entry"
                ::= { extremeFdbIpFdbEntry 2 }

          extremeFdbIpFdbMacAddress OBJECT-TYPE
              SYNTAX  MacAddress
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The MAC address corresponding to the IP Address."
              ::= { extremeFdbIpFdbEntry 3 }

        extremeFdbIpFdbVlanIfIndex OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The ifIndex of the Vlan on which this ip is learned"
              ::= { extremeFdbIpFdbEntry 4 }

          extremeFdbIpFdbPortIfIndex OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The IfIndex of the port on which this entry was learned"
              ::= { extremeFdbIpFdbEntry 5 }

          extremeFdbPermFdbTable        OBJECT-TYPE
                SYNTAX                  SEQUENCE OF ExtremeFdbPermFdbEntry
                MAX-ACCESS              not-accessible
                STATUS                  current
                DESCRIPTION
                "This table contains information on the secure-mac permanent FDB entries.
                It may later be extended to display other types of permanent FDB entries."

                ::= { extremeFdb 3 }
          
          extremeFdbPermFdbEntry        OBJECT-TYPE
                SYNTAX                  ExtremeFdbPermFdbEntry
                MAX-ACCESS              not-accessible
                STATUS                  current
                DESCRIPTION
                "An entry in the table of secure-mac permanent FDB information."

                INDEX { extremeFdbPermFdbFilterNum, 
                extremeFdbPermFdbMacAddress, extremeFdbPermFdbVlanId }
                ::= { extremeFdbPermFdbTable 1 }

          ExtremeFdbPermFdbEntry ::= SEQUENCE {
                extremeFdbPermFdbFilterNum      Integer32,
                extremeFdbPermFdbMacAddress     MacAddress,
                extremeFdbPermFdbVlanId         Integer32,
                extremeFdbPermFdbPortList       PortList,
                extremeFdbPermFdbFlags          BITS,
                extremeFdbPermFdbStatus         RowStatus
              }

        extremeFdbPermFdbFilterNum      OBJECT-TYPE
                SYNTAX                  Integer32
                MAX-ACCESS              read-only
                STATUS                  current
                DESCRIPTION
                      "This object always returns 1. In future, it may be used to 
                      provide additional capability."
                ::= { extremeFdbPermFdbEntry 1 }


        extremeFdbPermFdbMacAddress     OBJECT-TYPE
                SYNTAX                  MacAddress
                MAX-ACCESS              read-only
                STATUS                  current
                DESCRIPTION
                      "The is the MAC Address to which this FDB entry pertains."
                ::= { extremeFdbPermFdbEntry 2 }

        extremeFdbPermFdbVlanId         OBJECT-TYPE
              SYNTAX                    Integer32
              MAX-ACCESS                read-only
              STATUS                    current
              DESCRIPTION
                      "The VLAN ID of the VLAN to which this FDB entry pertains."
              ::= { extremeFdbPermFdbEntry 3 }

        extremeFdbPermFdbPortList       OBJECT-TYPE
              SYNTAX                    PortList
              MAX-ACCESS                read-create
              STATUS                    current
              DESCRIPTION
                      "This is the list of port(s) on which the given MAC Address is configured
                      Note that this port list is constructed assuming there are as many ports 
                      per slot as given in the object extremeChassisPortsPerSlot. 
                      Thus, if extremeChassisPortsPerSlot is 128, then the 129th bit in the port 
                      list (reading left to right) indicates port 2:1. Similarly, the 256th bit 
                      would indicate port 2:128 while the 257th bit would indicate port 3:1. Note 
                      especially that the bit positions in port list do not depend on the actual 
                      physical presence or absence of the given ports on the blade or of any 
                      blade itself."
                      
              ::= { extremeFdbPermFdbEntry 4 }


       extremeFdbPermFdbFlags           OBJECT-TYPE
            SYNTAX  BITS {
                        isSecure(0)
                 }                
                        
           MAX-ACCESS                   read-create
           STATUS                       current
           DESCRIPTION 
                "This object contains the flags associated with the FDB entry. The flags 
                are similar to those displayed on the device Command Line Interface. 
                At present, only the isSecure bit i.e. bit 0 will be supported and it will 
                always be ON since only secure-mac entries are configurable and displayed 
                in this table."
            ::= { extremeFdbPermFdbEntry 5 }

       extremeFdbPermFdbStatus          OBJECT-TYPE
              SYNTAX                    RowStatus                      
              MAX-ACCESS                read-create
              STATUS                    current
              DESCRIPTION
                      "The status of this entry as per standard RowStatus conventions. 
                      Note however, that createAndWait and notInService states are not 
                      supported."

              ::= { extremeFdbPermFdbEntry 6 }


        extremeFdbMacFdbCounterTable    OBJECT-TYPE
              SYNTAX    SEQUENCE OF ExtremeFdbMacFdbCounterEntry
              MAX-ACCESS  not-accessible
              STATUS current
              DESCRIPTION
            "A table that contains change counters for the Operational FDB and ARP.
                       Each entry in the table corresponds to an individual port.  Whenever
                       a change occurs to the operational FDB (MAC learned, aged out or
                       removed) or in the IP ARP table (learned, aged out or removed) , the
                       counter associated with the port is incremented by one.

                       The counters are reset at agent startup and when the port is down.
                       They are not cleared when the port is enabled or disabled."

              ::= { extremeFdb 5 }

        extremeFdbMacFdbCounterEntry    OBJECT-TYPE
              SYNTAX    ExtremeFdbMacFdbCounterEntry
              MAX-ACCESS    not-accessible
              STATUS    current
              DESCRIPTION
                   "An entry in the table of MAC FDB change counters."
              INDEX { extremeFdbMacFdbCounterPortIfIndex }
              ::= {extremeFdbMacFdbCounterTable 1}

        ExtremeFdbMacFdbCounterEntry ::= SEQUENCE {
              extremeFdbMacFdbCounterPortIfIndex     Integer32,
              extremeFdbMacFdbCounterValue           Counter64
        }

        extremeFdbMacFdbCounterPortIfIndex OBJECT-TYPE
              SYNTAX                     Integer32 
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "The ifIndex of the Port for which the counte applies."
              ::= { extremeFdbMacFdbCounterEntry 1 }

        extremeFdbMacFdbCounterValue OBJECT-TYPE
              SYNTAX  Counter64
              MAX-ACCESS read-only 
              STATUS  current
              DESCRIPTION
                      "The count of the number of FDB changes for the given port
                       since the counter was last reset."
              ::= { extremeFdbMacFdbCounterEntry 2 }

END

-- ################################################################################

EXTREME-ESRP-MIB DEFINITIONS ::= BEGIN

        IMPORTS
        MODULE-IDENTITY         FROM SNMPv2-SMI
        NOTIFICATION-TYPE, OBJECT-IDENTITY FROM SNMPv2-SMI
        RowStatus               FROM SNMPv2-TC
        MacAddress              FROM SNMPv2-TC
        OBJECT-TYPE             FROM SNMPv2-SMI
        Counter32, IpAddress    FROM SNMPv2-SMI
        Integer32               FROM SNMPv2-SMI
        TruthValue              FROM SNMPv2-TC
        DisplayString           FROM RFC1213-MIB
        ExtremeGenAddr          FROM EXTREME-BASE-MIB
        extremeAgent            FROM EXTREME-BASE-MIB
        PortList                FROM EXTREME-BASE-MIB;

        extremeEsrp MODULE-IDENTITY
                LAST-UPDATED "200506240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Standby Routing Protocol information"
        ::= { extremeAgent 12 }

        extremeEsrpNotifications       OBJECT IDENTIFIER ::= { extremeEsrp 7 }
        extremeEsrpNotificationsPrefix OBJECT IDENTIFIER ::= { extremeEsrpNotifications 0 }
        extremeEsrpObjects             OBJECT IDENTIFIER ::= { extremeEsrp 8 }

    extremeEsrpTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeEsrpEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table contains ESRP information for this device."
        ::= { extremeEsrp 2 }

    extremeEsrpEntry    OBJECT-TYPE
        SYNTAX    ExtremeEsrpEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual entry of this table contains ESRP information for                 a given vlan belonging to a given ESRP group."
        INDEX {extremeEsrpVlanIfIndex, extremeEsrpGroup}
        ::= {extremeEsrpTable 1}

    ExtremeEsrpEntry ::= SEQUENCE {
                extremeEsrpVlanIfIndex        INTEGER,
                extremeEsrpGroup              INTEGER,
                extremeEsrpRowStatus          RowStatus,
                extremeEsrpNetAddress         ExtremeGenAddr,
                extremeEsrpState              INTEGER,
                extremeEsrpPriority           INTEGER,
                extremeEsrpElectionAlgorithm  INTEGER,
                extremeEsrpHelloTimer         INTEGER,
                extremeEsrpActivePorts        INTEGER,
                extremeEsrpTrackedActivePorts Integer32,
                extremeEsrpTrackedIpRoutes    Integer32,
                extremeEsrpTrackedPings       Integer32,
                extremeEsrpNumTransitionsToMaster Integer32,
                extremeEsrpNumTransitionsToSlave  Integer32,
                extremeEsrpInternalActivePorts    INTEGER
        }

        extremeEsrpVlanIfIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      accessible-for-notify
                STATUS    current
                DESCRIPTION
                        "Any index to this table has a value that is
                        the same as the ifIndex of one of the vlans
                        present in the ifTable."
                ::= { extremeEsrpEntry 1 }

         extremeEsrpGroup OBJECT-TYPE
                SYNTAX    INTEGER (1..65535)
                MAX-ACCESS      accessible-for-notify
                STATUS    current
                DESCRIPTION
                        "Indicates a gateway addresses this router backs
                        up. Any gateway address can be backed up by a
                        group of routers with one as the master and the
                        others as backup. An instance of this object 
                        refers to one such group. Only the default group
                        1 is supported currently."
                ::= { extremeEsrpEntry 2 }

          extremeEsrpRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The status of this entry."
                ::= { extremeEsrpEntry 3 }
                
          extremeEsrpNetAddress OBJECT-TYPE
                SYNTAX  ExtremeGenAddr
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The IP/IPX address of this vlan. This entry
                        is null if no address has been assigned to the
                        vlan."
                ::= { extremeEsrpEntry 4 }
                
          extremeEsrpState OBJECT-TYPE
                SYNTAX    INTEGER {
                        neutral(1),
                        master(2),
                        slave(3)
                }
            MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "This indicates the ESRP state of this ESRP router."
                ::= { extremeEsrpEntry 5 }

        extremeEsrpPriority OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The priority which would be advertised by this
                        router for determining the esrp master."
                ::= { extremeEsrpEntry 6 }

         extremeEsrpElectionAlgorithm OBJECT-TYPE
                SYNTAX    INTEGER {
                        portsTrackPriorityMac(1),
                        trackPortsPriorityMac(2),
                        priorityPortsTrackMac(3),
                                priorityTrackPortsMac(4),
                                priorityMacOnly(5)
                }
                MAX-ACCESS read-create
                STATUS    current
                DESCRIPTION
                    "The algorithm to use in selecting the esrp master."
        ::= { extremeEsrpEntry 7 }

        extremeEsrpHelloTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The time interval for exchanging hello messages."
                ::= { extremeEsrpEntry 8 }

        extremeEsrpActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of physical ports that are in this
                        vlan."
                ::= { extremeEsrpEntry 9 }

        extremeEsrpTrackedActivePorts OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ports belonging to the vlans
                        that are tracked by this esrp router."
                ::= { extremeEsrpEntry 10 }

        extremeEsrpTrackedIpRoutes OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ip routes that are tracked
                        by this esrp router."
                ::= { extremeEsrpEntry 11 }

        extremeEsrpTrackedPings OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ip addresses that are ping-tracked
                        by this esrp router."
                ::= { extremeEsrpEntry 12 }

        extremeEsrpNumTransitionsToMaster OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of transitions to Master
                        by this esrp router."
                ::= { extremeEsrpEntry 13 }

        extremeEsrpNumTransitionsToSlave OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of transitions to Slave
                        by this esrp router."
                ::= { extremeEsrpEntry 14 }


        extremeEsrpInternalActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of internal physical ports that are
                        in this vlan."
                ::= { extremeEsrpEntry 15 }

    extremeEsrpNeighborTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeEsrpNeighborEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table contains ESRP information received from the ESRP 
             neighbors of this device."
        ::= { extremeEsrp 3 }

    extremeEsrpNeighborEntry    OBJECT-TYPE
        SYNTAX    ExtremeEsrpNeighborEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "Each individual entry of this table contains ESRP information 
            of one ESRP neighbor."
        INDEX {extremeEsrpVlanIfIndex,
                       extremeEsrpGroup,
                       extremeEsrpNeighborMacAddress}
        ::= {extremeEsrpNeighborTable 1}

    ExtremeEsrpNeighborEntry  ::= SEQUENCE {
                extremeEsrpNeighborMacAddress  MacAddress,
                extremeEsrpNeighborGroup       INTEGER,
                extremeEsrpNeighborNetAddress  ExtremeGenAddr,
                extremeEsrpNeighborState       INTEGER,
                extremeEsrpNeighborPriority    Integer32,
                extremeEsrpNeighborElectionAlgorithm INTEGER,
                extremeEsrpNeighborHelloTimer  Integer32,
                extremeEsrpNeighborActivePorts Integer32,
                extremeEsrpNeighborTrackedActivePorts  Integer32,
                extremeEsrpNeighborTrackedIpRoutes     Integer32,
                extremeEsrpNeighborInternalActivePorts Integer32
        }

        extremeEsrpNeighborMacAddress OBJECT-TYPE
                SYNTAX  MacAddress
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "Mac address of other esrp routers that backup
                        this gateway address."
                ::= { extremeEsrpNeighborEntry 1 }

         extremeEsrpNeighborGroup OBJECT-TYPE
                SYNTAX    INTEGER (1..65535)
                MAX-ACCESS     not-accessible
                STATUS    current
                DESCRIPTION
                        "Indicates a gateway addresses this router backs
                        up. Any gateway address can be backed up by a
                        group of routers with one as the master and the
                        others as backup. An instance of this object 
                        refers to one such group. Note that this object
                        is defined in addition to extremeEsrpGroup.
                        Whereas the extremeEsrpGroup refers to the group
                        information advertised by this host the
                        extremeEsrpNeighborGroup refers to the group
                        information reported by the neighbor. There
                        might be a conflict. Only the default group
                        1 is supported currently."
                ::= { extremeEsrpNeighborEntry 2 }

        extremeEsrpNeighborNetAddress OBJECT-TYPE
                SYNTAX  ExtremeGenAddr
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The network layer address of this router. This
                        may be null if no address was assigned."
                ::= { extremeEsrpNeighborEntry 3 }

        extremeEsrpNeighborState OBJECT-TYPE
                SYNTAX    INTEGER {
                        neutral(1),
                        master(2),
                        slave(3)
                }
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "State of the esrp neighbor."
                ::= { extremeEsrpNeighborEntry 4 }

        extremeEsrpNeighborPriority OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The priority reported by this esrp neighbor."
                ::= { extremeEsrpNeighborEntry 5 }

         extremeEsrpNeighborElectionAlgorithm OBJECT-TYPE
                SYNTAX    INTEGER {
                        portAndPriority(1),
                        priority(2),
                        priorityThenPort(3)
                }
                MAX-ACCESS read-only
                STATUS    current
                DESCRIPTION
                    "The algorithm to use in selecting the esrp master
                    reported by this esrp neighbor."
                ::= { extremeEsrpNeighborEntry 6 }

         extremeEsrpNeighborHelloTimer OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The time interval for exchanging hello messages
                        configured at this esrp neighbor."
                ::= { extremeEsrpNeighborEntry 7 }

        extremeEsrpNeighborActivePorts OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of physical ports that are in present
                        in the neighbor's vlan."
                ::= { extremeEsrpNeighborEntry 8 }

        extremeEsrpNeighborTrackedActivePorts OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ports belonging to the vlans
                        that are tracked by this esrp neighbor."
                ::= { extremeEsrpNeighborEntry 9 }

        extremeEsrpNeighborTrackedIpRoutes OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ip routes that are tracked
                        by this esrp neighbor."
                ::= { extremeEsrpNeighborEntry 10 }

        extremeEsrpNeighborInternalActivePorts OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of internal ports that are in present
                        in the neighbor."
                ::= { extremeEsrpNeighborEntry 11 }

    extremeEsrpTrackVlanTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeEsrpTrackVlanEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A table containing information on the VLANs tracked by 
            this ESRP router."
        ::= { extremeEsrp 4 }

    extremeEsrpTrackVlanEntry    OBJECT-TYPE
        SYNTAX    ExtremeEsrpTrackVlanEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An entry in the table of tracked VLAN information."
        INDEX {extremeEsrpVlanIfIndex,
                       extremeEsrpGroup,
                       extremeEsrpTrackVlanIfIndex}
        ::= {extremeEsrpTrackVlanTable 1}

    ExtremeEsrpTrackVlanEntry ::= SEQUENCE {
                extremeEsrpTrackVlanIfIndex INTEGER,
                extremeEsrpTrackVlanRowStatus RowStatus
        }

        extremeEsrpTrackVlanIfIndex OBJECT-TYPE
                SYNTAX  INTEGER   (1..65535)
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "The ifIndex of the tracked vlan."
                ::= { extremeEsrpTrackVlanEntry 1 }

        extremeEsrpTrackVlanRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The status of this entry."
                ::= { extremeEsrpTrackVlanEntry 2 }


    extremeEsrpTrackIpRouteTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeEsrpTrackIpRouteEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A table containing information on the IP routes tracked
            by this ESRP router."
        ::= { extremeEsrp 5 }

    extremeEsrpTrackIpRouteEntry    OBJECT-TYPE
        SYNTAX    ExtremeEsrpTrackIpRouteEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An entry in the table of tracked IP routes information."
        INDEX {extremeEsrpVlanIfIndex,
                       extremeEsrpGroup,
                       extremeEsrpTrackIpRouteIpAddress,
                       extremeEsrpTrackIpRouteNetMask}
        ::= {extremeEsrpTrackIpRouteTable 1}

    ExtremeEsrpTrackIpRouteEntry ::= SEQUENCE {
                extremeEsrpTrackIpRouteIpAddress IpAddress,
                extremeEsrpTrackIpRouteNetMask   IpAddress,
                extremeEsrpTrackIpRouteRowStatus RowStatus
        }

        extremeEsrpTrackIpRouteIpAddress OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "The ifIndex of the tracked vlan."
                ::= { extremeEsrpTrackIpRouteEntry 1 }

        extremeEsrpTrackIpRouteNetMask OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "The ifIndex of the tracked vlan."
                ::= { extremeEsrpTrackIpRouteEntry 2 }

        extremeEsrpTrackIpRouteRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The status of this entry."
                ::= { extremeEsrpTrackIpRouteEntry 3 }

    extremeEsrpPortTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeEsrpPortEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A table containing information on the ports belonging 
            to the ESRP vlans on this router."
        ::= { extremeEsrp 6 }

    extremeEsrpPortEntry    OBJECT-TYPE
        SYNTAX    ExtremeEsrpPortEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An entry in the table of ESRP port information."
        INDEX {extremeEsrpVlanIfIndex, extremeEsrpPortIfIndex}
        ::= {extremeEsrpPortTable 1}

    ExtremeEsrpPortEntry ::= SEQUENCE {
                extremeEsrpPortIfIndex    Integer32,
                extremeEsrpPortState      TruthValue
        }

        extremeEsrpPortIfIndex OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "The ifIndex of the physical port that is part
                        of the vlan specified by the extremeEsrpVlanIfIndex."
                ::= { extremeEsrpPortEntry 1 }

        extremeEsrpPortState OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS  read-write
                STATUS current
                DESCRIPTION
                        "Indicates if esrp is enabled or disabled on this
                        port."
                ::= { extremeEsrpPortEntry 2 }

        extremeEsrpDomainTable  OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeEsrpDomainEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains information for ESRP domains
            on this device."
                ::= { extremeEsrpObjects  1 }

        extremeEsrpDomainEntry  OBJECT-TYPE
                SYNTAX  ExtremeEsrpDomainEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual entry of this table contains ESRP 
                        information for  a given ESRP domain and group."
                INDEX {extremeEsrpDmnName}
                ::= {extremeEsrpDomainTable 1}

        ExtremeEsrpDomainEntry ::= SEQUENCE {
            extremeEsrpDmnName                  DisplayString,
            extremeEsrpDmnGroup                 INTEGER,
            extremeEsrpDmnVersion           INTEGER,
            extremeEsrpDmnAdminStatus   INTEGER,
            extremeEsrpDmnVlan          DisplayString,
            extremeEsrpDmnVlanTag       INTEGER,
            extremeEsrpDmnId                    INTEGER,
            extremeEsrpDmnNetAddress    IpAddress,
            extremeEsrpDmnState                 INTEGER,
            extremeEsrpDmnMasterMacAddress      MacAddress,
            extremeEsrpDmnPriority                      INTEGER,
            extremeEsrpDmnOperPriority          INTEGER,
            extremeEsrpDmnHelloTimer            INTEGER,
            extremeEsrpDmnNeutralTimer          INTEGER,
            extremeEsrpDmnPreMasterTimer                INTEGER,
            extremeEsrpDmnNbrTimer                      INTEGER,
            extremeEsrpDmnRestartTimer          INTEGER,
            extremeEsrpDmnActivePorts           INTEGER,
            extremeEsrpDmnActivePortWeight      INTEGER,
            extremeEsrpDmnInternalActivePorts   INTEGER,
            extremeEsrpDmnTrackedActivePorts    INTEGER,
            extremeEsrpDmnTrackedActivePortWeight       INTEGER,
            extremeEsrpDmnTrackedIpRoutes               INTEGER,
            extremeEsrpDmnTrackedPings          INTEGER,
            extremeEsrpDmnTrackedVlans          INTEGER,
            extremeEsrpDmnElectPreferenceForPorts       INTEGER,
            extremeEsrpDmnElectPreferenceForPriority    INTEGER,
            extremeEsrpDmnElectPreferenceForMac INTEGER,
            extremeEsrpDmnElectPreferenceForTrack       INTEGER,
            extremeEsrpDmnElectPreferenceForSticky      INTEGER,
            extremeEsrpDmnElectPreferenceForWeight      INTEGER,
            extremeEsrpDmnRowStatus                     RowStatus       
        }

          extremeEsrpDmnName  OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(0..31))
                MAX-ACCESS      accessible-for-notify
                STATUS  current
                DESCRIPTION
                        "A unique name assigned to ESRP Domain."
                ::= { extremeEsrpDomainEntry 1 }

          extremeEsrpDmnGroup OBJECT-TYPE
                SYNTAX  INTEGER (0..32)
                MAX-ACCESS      read-create
                STATUS  current
                DESCRIPTION
                        "Identifier to pair ESRP routers with in a ESRP domain."
                ::= { extremeEsrpDomainEntry 2 }

          extremeEsrpDmnVersion OBJECT-TYPE
                        SYNTAX INTEGER {
                        v1(1),
                        v2(2)
                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "ESRP Protocol Version Identifier."
                ::= { extremeEsrpDomainEntry 3 }

          extremeEsrpDmnAdminStatus OBJECT-TYPE
                        SYNTAX INTEGER {
                        enabled (1),
                        disabled (2)
                }
                MAX-ACCESS      read-create
                STATUS  current
                DESCRIPTION
                        "This objects is used to enable domain for ESRP-Core 
                        functionality or disable to function just as ESRP-Aware."
                ::= { extremeEsrpDomainEntry 4 }

          extremeEsrpDmnVlan  OBJECT-TYPE
                SYNTAX  DisplayString
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Master Vlan of ESRP domain."
                ::= { extremeEsrpDomainEntry 5 }

          extremeEsrpDmnVlanTag OBJECT-TYPE
                SYNTAX  INTEGER (1..4093)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "802.1q tag assigned to Master Vlan of
                        ESRP domain."
                ::= { extremeEsrpDomainEntry 6 }

          extremeEsrpDmnId OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-create
                STATUS  current
                DESCRIPTION
                        "A unique identifer assigned to ESRP domain. This
                        parameter is passed in ESRP V2 Hello PDU in order to 
                        identify ESRP domains."
                ::= { extremeEsrpDomainEntry 7 }

          extremeEsrpDmnState OBJECT-TYPE
                 SYNTAX INTEGER {
                        neutral(0),
                        master(1),
                        slave(2),
                        premaster(3),
                        aware(4)
                }
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "This indicates the ESRP state of this ESRP router."
                ::= { extremeEsrpDomainEntry 8 }

          extremeEsrpDmnNetAddress OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Indicates a gateway addresses this router backs
                        up. Any gateway address can be backed up by 2 routers 
                        with one as the master and other as backup.
                        This entry is null if no address has been assigned to 
                        the master vlan of this domain."
                ::= { extremeEsrpDomainEntry 9 }

          extremeEsrpDmnMasterMacAddress OBJECT-TYPE
                SYNTAX  MacAddress
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "MAC address of Master ESRP router."
                ::= { extremeEsrpDomainEntry 10 }

          extremeEsrpDmnPriority OBJECT-TYPE
                SYNTAX  INTEGER  (0..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The priority which is configured by this
                        router for determining the esrp master."
                ::= { extremeEsrpDomainEntry 11 }

          extremeEsrpDmnOperPriority OBJECT-TYPE
                SYNTAX  INTEGER  (0..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The operational priority which would be 
                        advertised by this router for determining 
                        the esrp master."
                ::= { extremeEsrpDomainEntry 12 }

         extremeEsrpDmnHelloTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The time interval for exchanging hello messages."
                ::= { extremeEsrpDomainEntry 13 }

         extremeEsrpDmnNeutralTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The time interval to stay in NEUTRAL state before
                        changing state."
                ::= { extremeEsrpDomainEntry 14 }

         extremeEsrpDmnPreMasterTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The time interval to stay in PREMASTER state 
                        before changing state."
                ::= { extremeEsrpDomainEntry 15 }

         extremeEsrpDmnNbrTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Keep-Alive time interval to listen from ESRP neighbor."
                ::= { extremeEsrpDomainEntry 16 }

         extremeEsrpDmnRestartTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The time interval to freeze any state transition 
                        while neighbor is going through MSM failover or 
                        graceful restart."
                ::= { extremeEsrpDomainEntry 17 }

           extremeEsrpDmnActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of active vlan-ports that are part of this
                        ESRP domain."
                ::= { extremeEsrpDomainEntry 18 }

        extremeEsrpDmnActivePortWeight OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The normalised link-weight of active vlan-ports that 
                        are part of this ESRP domain."
                ::= { extremeEsrpDomainEntry 19 }

        extremeEsrpDmnInternalActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of internal active ports that are part of 
                        this ESRP domain."
                ::= { extremeEsrpDomainEntry 20 }

        extremeEsrpDmnTrackedActivePorts OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of vlan-ports belonging to the vlans
                        that are tracked by this ESRP domain."
                ::= { extremeEsrpDomainEntry 21 }

        extremeEsrpDmnTrackedActivePortWeight OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The normalised link-weight of active vlan-ports that 
                        are tracked by this  ESRP domain."
                ::= { extremeEsrpDomainEntry 22 }

        extremeEsrpDmnTrackedIpRoutes OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ip routes that are tracked
                        by this ESRP domain."
                ::= { extremeEsrpDomainEntry 23 }

        extremeEsrpDmnTrackedPings OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ip addresses that are ping-tracked
                        by this ESRP domain."
                ::= { extremeEsrpDomainEntry 24 }

        extremeEsrpDmnTrackedVlans OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of vlans being tracked
                        by this ESRP domain."
                ::= { extremeEsrpDomainEntry 25 }

        extremeEsrpDmnElectPreferenceForPorts OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Level of preference given to ports while computing 
                        Master Election for this ESRP domain."
                ::= { extremeEsrpDomainEntry 26 }
        
        extremeEsrpDmnElectPreferenceForPriority OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Level of preference given to Priority while computing 
                        Master Election for this ESRP domain."
                ::= { extremeEsrpDomainEntry 27 }

        extremeEsrpDmnElectPreferenceForMac OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Level of preference given to MAC while computing 
                        Master Election for this ESRP domain."
                ::= { extremeEsrpDomainEntry 28 }

        extremeEsrpDmnElectPreferenceForTrack OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Level of preference given to vlan tracking while 
                        computing Master Election for this ESRP domain."
                ::= { extremeEsrpDomainEntry 29 }

        extremeEsrpDmnElectPreferenceForSticky OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Level of preference given to sticky bit while 
                        computing Master Election for this ESRP domain."
                ::= { extremeEsrpDomainEntry 30 }

        extremeEsrpDmnElectPreferenceForWeight OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Level of preference given to active port weight
                        (APW) while computing Master Election for this 
                        ESRP domain."
                ::= { extremeEsrpDomainEntry 31 }

        extremeEsrpDmnRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The status of this entry."
                ::= { extremeEsrpDomainEntry 32 }

        extremeEsrpDomainMemberTable    OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeEsrpDomainMemberEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains information for member vlans 
            of ESRP domain."
                ::= { extremeEsrpObjects  2 }

   extremeEsrpDomainMemberEntry OBJECT-TYPE
                SYNTAX  ExtremeEsrpDomainMemberEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual entry of this table contains member vlan 
                        information for a given ESRP domain ."
                INDEX {extremeEsrpDmnName, extremeEsrpVlanDescr}
                ::= {extremeEsrpDomainMemberTable 1}

        ExtremeEsrpDomainMemberEntry ::= SEQUENCE {
            extremeEsrpVlanDescr            DisplayString,
            extremeEsrpVlanType             INTEGER,
            extremeEsrpDomainVlanIfIndex    Integer32,
            extremeEsrpVlanRowStatus        RowStatus
        }

          extremeEsrpVlanDescr OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(0..31))
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "Name identifier assigned to member vlan of 
                        ESRP domain."
                ::= { extremeEsrpDomainMemberEntry 1 }

      extremeEsrpVlanType OBJECT-TYPE
                SYNTAX  INTEGER {
                    master(1),
                    protected(2)
                }
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "ESRP domain can have one master vlan and many
                        protected vlans.This object is used to identify whether
                        the vlan is a master or protected one."
                ::= { extremeEsrpDomainMemberEntry 2 }

      extremeEsrpDomainVlanIfIndex OBJECT-TYPE
                SYNTAX  Integer32 
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "permanent interface index assigned to this
                        ESRP domain member vlan."
                ::= { extremeEsrpDomainMemberEntry 3 }

          extremeEsrpVlanRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The status of this entry."
                ::= { extremeEsrpDomainMemberEntry 4 }


        extremeEsrpDomainNeighborTable  OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeEsrpDomainNeighborEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains neighbor router information for 
            ESRP domains on this device."
                ::= { extremeEsrpObjects  3 }

        extremeEsrpDomainNeighborEntry  OBJECT-TYPE
                SYNTAX  ExtremeEsrpDomainNeighborEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual entry of this table contains neighbor 
            ESRP router information for a given ESRP domain."
                INDEX {extremeEsrpDmnName }
                ::= {extremeEsrpDomainNeighborTable 1}

        ExtremeEsrpDomainNeighborEntry ::= SEQUENCE {
            extremeEsrpDmnNeighborMacAddress                MacAddress,
            extremeEsrpDmnNeighborGroup                     INTEGER,
            extremeEsrpDmnNeighborNetAddress                IpAddress,
            extremeEsrpDmnNeighborState                     INTEGER,
            extremeEsrpDmnNeighborPriority                  INTEGER,
            extremeEsrpDmnNeighborHelloTimer                INTEGER,
            extremeEsrpDmnNeighborActivePorts               INTEGER,
            extremeEsrpDmnNeighborInternalActivePorts       INTEGER,
            extremeEsrpDmnNeighborTrackedActivePorts        INTEGER,
            extremeEsrpDmnNeighborTrackedIpCount            INTEGER,
            extremeEsrpDmnNeighborActivePortWeight          INTEGER,
            extremeEsrpDmnNeighborTrackedActivePortWeight   INTEGER
        }

          extremeEsrpDmnNeighborMacAddress OBJECT-TYPE
                SYNTAX  MacAddress
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "MAC address of ESRP Neighbor router."
                ::= { extremeEsrpDomainNeighborEntry 1 }

          extremeEsrpDmnNeighborGroup OBJECT-TYPE
                SYNTAX  INTEGER (0..32)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Identifier to pair ESRP routers with in a ESRP domain."
                ::= { extremeEsrpDomainNeighborEntry 2 }

      extremeEsrpDmnNeighborNetAddress OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                                    "Indicates a gateway address which is backed up by
                        ESRP neighbor and this router."
                ::= { extremeEsrpDomainNeighborEntry 3 }

      extremeEsrpDmnNeighborState OBJECT-TYPE
                 SYNTAX INTEGER {
                        neutral(0),
                        master(1),
                        slave(2),
                        premaster(3),
                        aware(4)
                }
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "This indicates the ESRP state of neighbor ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 4 }

          extremeEsrpDmnNeighborPriority OBJECT-TYPE
                SYNTAX  INTEGER  (0..255)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The priority which is being advertised by neighbor
                        ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 5 }

          extremeEsrpDmnNeighborHelloTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The hello time interval being advertised by neighbor
                        ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 6 }

      extremeEsrpDmnNeighborActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of active ports being advertised by neighbor
                        ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 7 }

          extremeEsrpDmnNeighborInternalActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of internal active ports being advertised 
                        by neighbor ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 8 }

          extremeEsrpDmnNeighborTrackedActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of tracked active ports being advertised 
                        by neighbor ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 9 }

          extremeEsrpDmnNeighborTrackedIpCount OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number represents sum of tracked routes and tracked
                        pings being advertised by neighbor ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 10 }
          
      extremeEsrpDmnNeighborActivePortWeight OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The weight of active ports being advertised 
                        by neighbor ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 11 }
          
      extremeEsrpDmnNeighborTrackedActivePortWeight OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The weight of tracked active ports being advertised 
                        by neighbor ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 12 }

     extremeEsrpDomainAwareTable        OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeEsrpDomainAwareEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains ESRP aware information for this device."
                ::= { extremeEsrpObjects  4 }

         extremeEsrpDomainAwareEntry    OBJECT-TYPE
                SYNTAX  ExtremeEsrpDomainAwareEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual entry of this table contains
            ESRP Aware information for a given ESRP domain and group."
                INDEX {extremeEsrpDmnName, extremeEsrpDmnGroup}
                ::= {extremeEsrpDomainAwareTable 1}

        ExtremeEsrpDomainAwareEntry ::= SEQUENCE {
            extremeEsrpMasterMacAddress     MacAddress,
            extremeEsrpMasterLastChanged    DisplayString,
            extremeEsrpNumFdbFlushes        Counter32,
            extremeEsrpHelloPktsReceived    Counter32,
            extremeEsrpHelloPktsForwarded   Counter32
        }

         extremeEsrpMasterMacAddress OBJECT-TYPE
                SYNTAX  MacAddress
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "MAC address of Master ESRP router."
                ::= { extremeEsrpDomainAwareEntry 1 }

         extremeEsrpMasterLastChanged OBJECT-TYPE
                        SYNTAX  DisplayString (SIZE(0..31))
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Date and time when new ESRP master was elected."
                ::= { extremeEsrpDomainAwareEntry 2 }

         extremeEsrpNumFdbFlushes OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "This object represents number of times switch
                        FDB has been flushed on new master election."
                ::= { extremeEsrpDomainAwareEntry 3 }

         extremeEsrpHelloPktsReceived OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of ESRP Aware hello packets received."
                ::= { extremeEsrpDomainAwareEntry 4 }

         extremeEsrpHelloPktsForwarded OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of ESRP Aware hello packets forwarded."
                ::= { extremeEsrpDomainAwareEntry 5 }

     extremeEsrpDomainStatsTable        OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeEsrpDomainStatsEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains statistics on ESRP hello packets 
            exchanged and ESRP state changes for this device."
                ::= { extremeEsrpObjects  5 }

         extremeEsrpDomainStatsEntry    OBJECT-TYPE
                SYNTAX  ExtremeEsrpDomainStatsEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual entry of this table contains
            statistical information for a given ESRP domain."
                INDEX {extremeEsrpDmnName}
                ::= {extremeEsrpDomainStatsTable 1}

     ExtremeEsrpDomainStatsEntry ::= SEQUENCE {
        extremeEsrpLastStateChanged             DisplayString,
            extremeEsrpDomainNumTransitionsToMaster       Counter32,
            extremeEsrpNumTransitionsToPreMaster    Counter32,
            extremeEsrpDomainNumTransitionsToSlave        Counter32,
            extremeEsrpNumTransitionsToNeutral      Counter32,
            extremeEsrpNumTransitionsToAware        Counter32,
        extremeEsrpHelloPktsReceived1           Counter32,
        extremeEsrpHelloPktsTransmitted         Counter32
     }

         extremeEsrpLastStateChanged OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(0..31))
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Date and time when ESRP state changed last."
                ::= { extremeEsrpDomainStatsEntry 1 }

         extremeEsrpDomainNumTransitionsToMaster OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of times ESRP domain entered 'MASTER' state."
                ::= { extremeEsrpDomainStatsEntry 2 }

         extremeEsrpNumTransitionsToPreMaster OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of times ESRP domain entered 'PREMASTER' state."
                ::= { extremeEsrpDomainStatsEntry 3 }

         extremeEsrpDomainNumTransitionsToSlave OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of times ESRP domain entered 'SLAVE' state."
                ::= { extremeEsrpDomainStatsEntry 4 }

         extremeEsrpNumTransitionsToNeutral OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of times ESRP domain entered 'NEUTRAL' state."
                ::= { extremeEsrpDomainStatsEntry 5 }

         extremeEsrpNumTransitionsToAware OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of times ESRP domain entered 'AWARE' state."
                ::= { extremeEsrpDomainStatsEntry 6 }

         extremeEsrpHelloPktsReceived1 OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of ESRP hello packets received."
                ::= { extremeEsrpDomainStatsEntry 7 }
         
     extremeEsrpHelloPktsTransmitted OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of ESRP hello packets transmitted."
                ::= { extremeEsrpDomainStatsEntry 8 }
                

     extremeEsrpAwareSelectForwardPortsTable    OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeEsrpAwareSelectForwardPortsEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains ESRP aware selective forward ports information for this device."
                ::= { extremeEsrpObjects  6 }

         extremeEsrpAwareSelectForwardPortsEntry        OBJECT-TYPE
                SYNTAX  ExtremeEsrpAwareSelectForwardPortsEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual entry of this table contains
            ESRP Aware selective forward port information for a given ESRP domain and group."
                INDEX {extremeEsrpAwareSelFwdListDmnName, 
                       extremeEsrpAwareSelFwdListDmnGroup}
                ::= {extremeEsrpAwareSelectForwardPortsTable 1}

        ExtremeEsrpAwareSelectForwardPortsEntry ::= SEQUENCE {
            extremeEsrpAwareSelFwdListDmnName                   DisplayString,
            extremeEsrpAwareSelFwdListDmnGroup                  INTEGER,
            extremeEsrpAwareSelFwdListPortCount                 INTEGER,
            extremeEsrpAwareSelFwdListPortList                  PortList
        }

         extremeEsrpAwareSelFwdListDmnName OBJECT-TYPE
                SYNTAX  DisplayString
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "A unique name assigned to ESRP Domain."
                ::= { extremeEsrpAwareSelectForwardPortsEntry 1 }

         extremeEsrpAwareSelFwdListDmnGroup OBJECT-TYPE
                SYNTAX  INTEGER (0..31)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Identifier to pair ESRP routers with in a ESRP domain."
                ::= { extremeEsrpAwareSelectForwardPortsEntry 2 }

         extremeEsrpAwareSelFwdListPortCount OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Number of selective forward ports"
                ::= { extremeEsrpAwareSelectForwardPortsEntry 3 }
 
         extremeEsrpAwareSelFwdListPortList OBJECT-TYPE
                 SYNTAX  PortList
                 MAX-ACCESS  read-only
                 STATUS current
                 DESCRIPTION
                        "Each bit in the octet string represents one port.
                         A 1 means that the port is a selective forward port in that vlan. 
                         The bit value for a port is 0 otherwise."
                 ::= { extremeEsrpAwareSelectForwardPortsEntry 4 }
 

    extremeEsrpDomainStateChange NOTIFICATION-TYPE
            OBJECTS { extremeEsrpDmnName,
                     extremeEsrpDmnGroup,
                     extremeEsrpDmnState,
                     extremeEsrpDmnNetAddress,
                     extremeEsrpDmnMasterMacAddress,
                     extremeEsrpDmnActivePorts,
                     extremeEsrpDmnInternalActivePorts,
                     extremeEsrpDmnTrackedActivePorts,
                     extremeEsrpDmnTrackedIpRoutes,
                     extremeEsrpDmnTrackedPings,
                     extremeEsrpDmnActivePortWeight,
                     extremeEsrpDmnTrackedActivePortWeight}
            STATUS   current
            DESCRIPTION
            "Signifies Esrp state change"
        ::= { extremeEsrpNotificationsPrefix 1 }

END

-- ################################################################################

EXTREME-EDP-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
                OBJECT-TYPE             FROM SNMPv2-SMI
                IpAddress               FROM SNMPv2-SMI
                ifIndex                 FROM RFC1213-MIB
                DisplayString           FROM RFC1213-MIB
                TruthValue              FROM SNMPv2-TC
                ExtremeDeviceId         FROM EXTREME-BASE-MIB
                Integer32               FROM SNMPv2-SMI
                extremeAgent            FROM EXTREME-BASE-MIB;


        extremeEdp MODULE-IDENTITY
                LAST-UPDATED "9910200000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Discovery Protocol information"
        ::= { extremeAgent 13 }

        extremeEdpTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeEdpEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains EDP information of this device."
                ::= { extremeEdp 2 }

        extremeEdpEntry OBJECT-TYPE
                SYNTAX  ExtremeEdpEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An entry in the table of EDP information of this device."
                INDEX {extremeEdpPortIfIndex, extremeEdpNeighborId}
                ::= {extremeEdpTable 1}

        ExtremeEdpEntry ::= SEQUENCE {
                extremeEdpPortIfIndex             INTEGER,
                extremeEdpNeighborId              ExtremeDeviceId,
                extremeEdpNeighborName            DisplayString,
                extremeEdpNeighborSoftwareVersion DisplayString,
                extremeEdpNeighborSlot            INTEGER,
                extremeEdpNeighborPort            INTEGER,
                extremeEdpEntryAge                Integer32
        }

        extremeEdpPortIfIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      accessible-for-notify
                STATUS  current
                DESCRIPTION
                        "The ifIndex of the physical port on which this
                        entry was discovered via edp."
                ::= { extremeEdpEntry 1 }

        extremeEdpNeighborId  OBJECT-TYPE
                SYNTAX  ExtremeDeviceId
                MAX-ACCESS      accessible-for-notify
                STATUS  current
                DESCRIPTION
                        "The identifier associated with the neighbor."
                ::= { extremeEdpEntry 2 }

        extremeEdpNeighborName  OBJECT-TYPE
                SYNTAX  DisplayString
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The identifier associated with the neighbor."
                ::= { extremeEdpEntry 3 }

        extremeEdpNeighborSoftwareVersion  OBJECT-TYPE
                SYNTAX  DisplayString
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The identifier associated with the neighbor."
                ::= { extremeEdpEntry 4 }

        extremeEdpNeighborSlot  OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The slot on which this neighbor received the
                        edp message."
                ::= { extremeEdpEntry 5 }

        extremeEdpNeighborPort  OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The port on which this neighbor received the
                        edp message."
                ::= { extremeEdpEntry 6 }

        extremeEdpEntryAge  OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The time in seconds since this entry was last
                        updated."
                ::= { extremeEdpEntry 7 }


        extremeEdpNeighborTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeEdpNeighborEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains EDP neighbor information."
                ::= { extremeEdp 3 }

        extremeEdpNeighborEntry OBJECT-TYPE
                SYNTAX  ExtremeEdpNeighborEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An entry in the table of EDP Neighbor information."
                INDEX {extremeEdpPortIfIndex, extremeEdpNeighborId,
                        extremeEdpNeighborVlanName}
                ::= {extremeEdpNeighborTable 1}

        ExtremeEdpNeighborEntry ::= SEQUENCE {
                extremeEdpNeighborVlanName      DisplayString,
                extremeEdpNeighborVlanId        INTEGER,
                extremeEdpNeighborVlanIpAddress IpAddress
        }

        extremeEdpNeighborVlanName  OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(1..81))
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The name of the vlan configured on and reported
                        by this edp neighbor."
                ::= { extremeEdpNeighborEntry 1 }

        extremeEdpNeighborVlanId  OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The vlan identifier associated with this vlan
                        configured on this neighbor."
                ::= { extremeEdpNeighborEntry 2 }

        extremeEdpNeighborVlanIpAddress  OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The ip address of the reported vlan."
                ::= { extremeEdpNeighborEntry 3 }


        extremeEdpPortTable     OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeEdpPortEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        ""
                ::= { extremeEdp 4 }

        extremeEdpPortEntry     OBJECT-TYPE
                SYNTAX  ExtremeEdpPortEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {ifIndex }
                ::= {extremeEdpPortTable 1}

        ExtremeEdpPortEntry ::= SEQUENCE {
                extremeEdpPortState      TruthValue
        }

        extremeEdpPortState OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS  read-write
                STATUS current
                DESCRIPTION
                        "Indicates if edp is enabled or disabled on this
                        port."
                ::= { extremeEdpPortEntry 1 }

END

-- ################################################################################


EXTREME-OSPF-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        MODULE-IDENTITY         FROM SNMPv2-SMI
        OBJECT-TYPE             FROM SNMPv2-SMI
        TruthValue              FROM SNMPv2-TC
        RowStatus               FROM SNMPv2-TC
        extremeAgent            FROM EXTREME-BASE-MIB
        extremeVlanIfIndex      FROM EXTREME-VLAN-MIB
        IpAddress               FROM SNMPv2-SMI;


    extremeOspf MODULE-IDENTITY
        LAST-UPDATED "200502140000Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Extreme specific OSPF information"
    ::= { extremeAgent 15 }


    extremeOspfInterfaceTable   OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeOspfInterfaceEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table contains Extreme Networks specific information 
            about OSPF interfaces."
        ::= { extremeOspf 1 }

    extremeOspfInterfaceEntry   OBJECT-TYPE
        SYNTAX  ExtremeOspfInterfaceEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "An entry in the table containing Extreme Networks specific 
            OSPF interface information."
        INDEX {extremeVlanIfIndex}
        ::= {extremeOspfInterfaceTable 1}

    ExtremeOspfInterfaceEntry ::= SEQUENCE {
                extremeOspfAreaId               IpAddress,
        extremeOspfInterfacePassive TruthValue,
                extremeOspfInterfaceStatus      RowStatus
    }

        extremeOspfAreaId OBJECT-TYPE
            SYNTAX   IpAddress
            MAX-ACCESS   read-write
            STATUS   current
            DESCRIPTION
               "A 32-bit integer uniquely identifying an area.
               Area ID 0.0.0.0 is used for the OSPF backbone."
          ::= { extremeOspfInterfaceEntry 1 }



    extremeOspfInterfacePassive OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Indicates whether the OSPF interface on this Vlan is
            Passive or not. Passive interfaces do not send routing
            updates. A true value indicates that the interface is passive."
        ::= { extremeOspfInterfaceEntry 2 }

    extremeOspfInterfaceStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The row status variable, used according to
                        row installation and removal conventions."
        ::= { extremeOspfInterfaceEntry 3 }

END





-- ################################################################################

EXTREME-STP-EXTENSIONS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE        FROM SNMPv2-SMI
    TruthValue        FROM SNMPv2-TC
    DisplayString        FROM RFC1213-MIB
    Integer32, Counter32, TimeTicks    FROM SNMPv2-SMI
    RowStatus               FROM SNMPv2-TC
    extremeVlanIfIndex    FROM EXTREME-VLAN-MIB
    extremeAgent, PortList      FROM EXTREME-BASE-MIB
    extremeSlotNumber       FROM EXTREME-SYSTEM-MIB;

    extremeStp MODULE-IDENTITY        
                LAST-UPDATED "200503220000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme STP extensions"
        ::= { extremeAgent 17 }

    BridgeId ::= OCTET STRING (SIZE (8))   -- the
    Timeout ::= Integer32 -- a STP timer in units of 1/100 seconds

    extremeStpDomainTable    OBJECT-TYPE
        SYNTAX                        SEQUENCE OF ExtremeStpDomainEntry
        MAX-ACCESS                    not-accessible
        STATUS                        current
        DESCRIPTION
        "This table contains STP information per STP domain."
        ::= { extremeStp 1 }

    extremeStpDomainEntry    OBJECT-TYPE
        SYNTAX                        ExtremeStpDomainEntry
        MAX-ACCESS                    not-accessible
        STATUS                        current
        DESCRIPTION
        "An entry in the extremeStpDomain Table."
        INDEX        { extremeStpDomainStpdInstance }
        ::= { extremeStpDomainTable 1 }

    ExtremeStpDomainEntry ::= SEQUENCE {
        extremeStpDomainStpdInstance            Integer32,
        extremeStpDomainStpdName            DisplayString,
        extremeStpDomainStpEnabled            TruthValue,
        extremeStpDomainRstpEnabled            TruthValue,
        extremeStpDomainStpdTag                INTEGER,
        extremeStpDomainNumPorts            Integer32,
        extremeStpDomainBridgeId            BridgeId,
        extremeStpDomainBridgePriority            INTEGER,
        extremeStpDomainDesignatedRoot            BridgeId,
        extremeStpDomainRootPortIfIndex            Integer32,
        extremeStpDomainRootCost            Integer32,    
        extremeStpDomainRRFailoverEnabled        TruthValue,    
        extremeStpDomainMaxAge                Timeout,        
        extremeStpDomainHelloTime            Timeout,
        extremeStpDomainForwardDelay            Timeout,
        extremeStpDomainBridgeMaxAge            Timeout,
        extremeStpDomainBridgeHelloTime            Timeout,
        extremeStpDomainBridgeForwardDelay        Timeout,
        extremeStpDomainHoldTime            Timeout,
        extremeStpDomainTopChanges            Counter32,
        extremeStpDomainTimeSinceTopologyChange        TimeTicks,
        extremeStpDomainRowStatus            RowStatus
        }

        extremeStpDomainStpdInstance            OBJECT-TYPE
                SYNTAX                   Integer32
        MAX-ACCESS                    accessible-for-notify
        STATUS                        current
        DESCRIPTION
        "The unique identifier of this STP domain."
        ::= { extremeStpDomainEntry 1 }

        extremeStpDomainStpdName            OBJECT-TYPE
        SYNTAX                        DisplayString (SIZE(1..31))
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The name associated with this STP domain."
        ::= { extremeStpDomainEntry 2 }

        extremeStpDomainStpEnabled            OBJECT-TYPE
        SYNTAX                        TruthValue
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The Enabled/Disabled state of STP on this STP domain."
        ::= { extremeStpDomainEntry 3 }


        extremeStpDomainRstpEnabled            OBJECT-TYPE
        SYNTAX                        TruthValue
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The Enabled/Disabled state of Rapid STP on this STP domain."
        ::= { extremeStpDomainEntry 4 }


        extremeStpDomainStpdTag                OBJECT-TYPE
        SYNTAX                        INTEGER (0..4095)
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The StpdId of this STP domain which appears as the 802.1Q tag. Therefore, 
        it must be the VLAN tag of one of the wholly-contained VLANs of this STP
        domain (i.e., the Carrier VLAN).  A value of 0 is returned if the STP domain
        has no Carrier VLAN defined yet or is a completely native 802.1D domain."
        ::= { extremeStpDomainEntry 5 }

        extremeStpDomainNumPorts            OBJECT-TYPE
                SYNTAX                  Integer32
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The number of physical ports belonging to this STP domain."
        ::= { extremeStpDomainEntry 6 }

        extremeStpDomainBridgeId            OBJECT-TYPE
        SYNTAX                        BridgeId
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The bridge identifier of this bridge for this STP domain."
        ::= { extremeStpDomainEntry 7 }

        extremeStpDomainBridgePriority            OBJECT-TYPE
        SYNTAX                        INTEGER (0..65535)
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The bridge priority of this bridge for this STP domain."
        ::= { extremeStpDomainEntry 8 }

        extremeStpDomainDesignatedRoot            OBJECT-TYPE
        SYNTAX                        BridgeId
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The root bridge identifier for this STP domain as determined by the STP
        running on this bridge for this STP domain"
        ::= { extremeStpDomainEntry 9 }

        extremeStpDomainRootPortIfIndex            OBJECT-TYPE
                SYNTAX                  Integer32
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The port ifIndex of the root port of this bridge for this STP domain."
        ::= { extremeStpDomainEntry 10 }

        extremeStpDomainRootCost            OBJECT-TYPE
                SYNTAX                  Integer32
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The cost of the path from this bridge to the root bridge of this STP domain"
        ::= { extremeStpDomainEntry 11 }

        extremeStpDomainRRFailoverEnabled        OBJECT-TYPE
        SYNTAX                        TruthValue
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The Enabled/Disabled state of Rapid Root Failover for this bridge on 
        this STP domain."
        ::= { extremeStpDomainEntry 12 }

        extremeStpDomainMaxAge                OBJECT-TYPE
        SYNTAX                        Timeout
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The maximum allowable age, in units of hundredths of a second, of STP 
        information learned by this bridge for this STP domain, after which it 
        is discarded. This is the value currently being used by the bridge."
        ::= { extremeStpDomainEntry 13 }

        extremeStpDomainHelloTime            OBJECT-TYPE
        SYNTAX                        Timeout
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The time, in hundredths of a second, between successive transmissions
        of Configuration BPDUs when this bridge is(or is trying to become) the 
        root bridge for this STP domain. This is the value currently being used
        by this bridge."
        ::= { extremeStpDomainEntry 14 }

        extremeStpDomainForwardDelay            OBJECT-TYPE
        SYNTAX                        Timeout
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The forward delay time, in hundredths of a second, currently
        being used by this bridge on this STP domain."
        ::= { extremeStpDomainEntry 15 }

        extremeStpDomainBridgeMaxAge            OBJECT-TYPE
        SYNTAX                        Timeout (600..4000)
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "This is the value of MaxAge used by all other bridges in 
        this STP domain when this bridge is the root bridge."
        ::= { extremeStpDomainEntry 16 }

        extremeStpDomainBridgeHelloTime            OBJECT-TYPE
        SYNTAX                        Timeout (100..1000)
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "This is the value of HelloTime used by all other bridges in
        this STP domain when this bridge is the root bridge."
        ::= { extremeStpDomainEntry 17 }

        extremeStpDomainBridgeForwardDelay        OBJECT-TYPE
        SYNTAX                        Timeout (400..3000)
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "This is the value of ForwardDelay used by all other bridges in
        this STP domain when this bridge is the root bridge."

        ::= { extremeStpDomainEntry 18 }

        extremeStpDomainHoldTime            OBJECT-TYPE
        SYNTAX                        Timeout
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "This is the Hold Time, in hundredths of a second, for this
        STP domain."
        ::= { extremeStpDomainEntry 19 }

        extremeStpDomainTopChanges            OBJECT-TYPE
        SYNTAX                        Counter32
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The number of topology changes detected by this bridge for
        this STP domain since the management entity was initialized
        or reset."
        ::= { extremeStpDomainEntry 20 }

        extremeStpDomainTimeSinceTopologyChange        OBJECT-TYPE
        SYNTAX                        TimeTicks
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The time, in hundredths of a second, since a topology change
        was last detected by this bridge for this STP domain."
        ::= { extremeStpDomainEntry 21 }

        extremeStpDomainRowStatus            OBJECT-TYPE
        SYNTAX                        RowStatus
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The status of this entry, as per standard RowStatus conventions."
        ::= { extremeStpDomainEntry 22 }

        
    extremeStpPortTable            OBJECT-TYPE
        SYNTAX                SEQUENCE OF ExtremeStpPortEntry
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
        "This table contains port-specific information per STP domain."
    ::= { extremeStp 2 }

    extremeStpPortEntry            OBJECT-TYPE
        SYNTAX                ExtremeStpPortEntry
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
        "An entry in the extremeStpPort table."
        INDEX        { extremeStpDomainStpdInstance, extremeStpPortPortIfIndex }
        ::= { extremeStpPortTable 1 }    

    ExtremeStpPortEntry ::= SEQUENCE {
        extremeStpPortPortIfIndex    Integer32,
                extremeStpPortStpEnabled        TruthValue,
        extremeStpPortPortMode        INTEGER,
        extremeStpPortPortState        INTEGER,
        extremeStpPortPortPriority    INTEGER,
        extremeStpPortPortId        OCTET STRING,
        extremeStpPortPathCost        INTEGER,
        extremeStpPortDesignatedCost    Integer32,
                extremeStpPortDesignatedRoot    BridgeId,
        extremeStpPortDesignatedBridge    BridgeId,
        extremeStpPortDesignatedPort    OCTET STRING,
        extremeStpPortRowStatus        RowStatus        
        }

    extremeStpPortPortIfIndex        OBJECT-TYPE
                SYNTAX          Integer32
        MAX-ACCESS                not-accessible
        STATUS                current
        DESCRIPTION
        "The ifIndex of the physical port for which this entry contains STP information."
        ::= { extremeStpPortEntry 1 }

    extremeStpPortStpEnabled        OBJECT-TYPE
        SYNTAX                TruthValue
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The enabled/disabled state of this STP instance on this port."
        ::= { extremeStpPortEntry 2 }


    extremeStpPortPortMode            OBJECT-TYPE
        SYNTAX                INTEGER { 
                            dot1d(1), 
                            emistp(2), 
                            pvstp(3), 
                            dot1w(4)
                            }
        MAX-ACCESS                read-only
        STATUS                    current
        DESCRIPTION
        "The port mode of this port in this STP domain."
        ::= { extremeStpPortEntry 3 }

    extremeStpPortPortState            OBJECT-TYPE
        SYNTAX                INTEGER { 
                            disabled(1),
                            blocking(2),
                            listening(3),
                            learning(4),
                            forwarding(5)
                        }
                                     
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The port state of this port in this STP domain."
        ::= { extremeStpPortEntry 4 }

    extremeStpPortPortPriority        OBJECT-TYPE
        SYNTAX                INTEGER (0..31)
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The port priority of this port in this STP domain."
        ::= { extremeStpPortEntry 5 }

    extremeStpPortPortId            OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE(2))
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The port identifier of this port in this STP domain."
        ::= { extremeStpPortEntry 6 }

    extremeStpPortPathCost            OBJECT-TYPE
        SYNTAX                INTEGER (1..65535)
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The path cost of this port for this STP domain."
        ::= { extremeStpPortEntry 7 }

    extremeStpPortDesignatedCost        OBJECT-TYPE
                SYNTAX          Integer32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The path cost, for this STP domain, of the Designated Port of the 
        segment connected to this port."
        ::= { extremeStpPortEntry 8 }

        extremeStpPortDesignatedRoot            OBJECT-TYPE
                SYNTAX                          BridgeId
                MAX-ACCESS                      read-only
                STATUS                          current
                DESCRIPTION
                    "The root bridge identifier, for this STP domain, that is sent in the 
                    Configuration BPDUs transmitted by the Designated Bridge for the segment
                    to which this port is attached."
                ::= { extremeStpPortEntry 9 }

    extremeStpPortDesignatedBridge        OBJECT-TYPE
        SYNTAX                BridgeId
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The bridge identifier for the bridge considered to be the Designated Bridge,
        in this STP domain, for the segment connected to this port."
        ::= { extremeStpPortEntry 10 }

    extremeStpPortDesignatedPort        OBJECT-TYPE
        SYNTAX                OCTET STRING(SIZE(2))
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The port identifier of the Designated Port on this port's segment, for this
        STP domain."
        ::= { extremeStpPortEntry 11 }

    extremeStpPortRowStatus            OBJECT-TYPE
        SYNTAX                RowStatus
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The status of this entry, as per standard RowStatus conventions."
        ::= { extremeStpPortEntry 12 }


    extremeStpVlanPortTable        OBJECT-TYPE
        SYNTAX            SEQUENCE OF ExtremeStpVlanPortEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION
        "This table contains information of the ports belonging to a STP domain on a per VLAN basis."
        ::= { extremeStp 3 }

    extremeStpVlanPortEntry        OBJECT-TYPE
        SYNTAX            ExtremeStpVlanPortEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION
        "An entry in the extremeStpVlanPort table."
        INDEX        { extremeVlanIfIndex, extremeStpDomainStpdInstance }
    ::= { extremeStpVlanPortTable 1 }

    ExtremeStpVlanPortEntry ::= SEQUENCE {
        extremeStpVlanPortPortMask        PortList,
        extremeStpVlanPortRowStatus        RowStatus
        }

    extremeStpVlanPortPortMask    OBJECT-TYPE
    SYNTAX                PortList
    MAX-ACCESS            read-only
    STATUS                current
    DESCRIPTION
    "The list of ports in this STP domain and in this VLAN."
    ::= { extremeStpVlanPortEntry 1 }

    extremeStpVlanPortRowStatus    OBJECT-TYPE
    SYNTAX                RowStatus
    MAX-ACCESS            read-only
    STATUS                current
    DESCRIPTION
    "The status of this entry, as per standard RowStatus conventions."
    ::= { extremeStpVlanPortEntry 2 }

END

-- ################################################################################

    EXTREME-SNMPV3-MIB DEFINITIONS ::= BEGIN

    IMPORTS  
                MODULE-IDENTITY                 FROM SNMPv2-SMI
                OBJECT-TYPE                     FROM SNMPv2-SMI
                TruthValue                      FROM SNMPv2-TC
                extremeAgent                    FROM EXTREME-BASE-MIB
                snmpTargetAddrEntry             FROM SNMP-TARGET-MIB;

            
        extremeSnmpv3 MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme-specific SNMPv3 objects"
        ::= { extremeAgent 23 }

        extremeTarget   OBJECT IDENTIFIER ::= { extremeSnmpv3 1 }
        
        extremeTargetAddrExtTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeTargetAddrExtEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "This table is an extension to the snmpTargetAddrTable found in the 
                SNMP-TARGET-MIB. It contains Extreme Networks specific objects needed for
                each management target."
                        ::= { extremeTarget 1 }

        extremeTargetAddrExtEntry OBJECT-TYPE
                SYNTAX  ExtremeTargetAddrExtEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "An entry in the extremeTargetAddrExtTable."
                AUGMENTS { snmpTargetAddrEntry }
                        ::= { extremeTargetAddrExtTable 1 }

        ExtremeTargetAddrExtEntry ::= SEQUENCE {
                extremeTargetAddrExtIgnoreMPModel               TruthValue,
                extremeTargetAddrExtStandardMode                TruthValue,
                extremeTargetAddrExtTrapDestIndex               Integer32,
                extremeTargetAddrExtUseEventComm                TruthValue
        }
        
        
        extremeTargetAddrExtIgnoreMPModel OBJECT-TYPE
                SYNTAX TruthValue
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                "When this object is set to TRUE, the version of the trap/notification sent to 
                the corresponding management target (trap receiver) will be the same as in 
                releases of Extremeware prior to 7.1.0. Thus, the value of the 
                snmpTargetParamsMPModel object in the snmpTargetParamsTable will be ignored while
                determining the version of the trap/notification to be sent. When a trap-receiver
                is created via the RMON trapDestTable or from the CLI command 'configure snmp add
                trapreceiver ....', the value of this object will be set to TRUE for the 
                corresponding entry in this table."
                DEFVAL { false }
                ::= { extremeTargetAddrExtEntry 1 }

        extremeTargetAddrExtStandardMode OBJECT-TYPE
                SYNTAX TruthValue
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                "When this object is set to TRUE, the management target will be treated as 
                a 'standard mode' one, in that any Extreme Networks specific extra varbinds 
                present in a standards-based trap/notification will not be sent to this 
                management target. Only the varbinds defined in the standard will be sent."
                DEFVAL { false }
                ::= { extremeTargetAddrExtEntry 2 }

        extremeTargetAddrExtTrapDestIndex OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "This object contains the value of the trapDestIndex in the corresponding 
                entry of the RMON trapDestTable."
                ::= { extremeTargetAddrExtEntry 3 }

        extremeTargetAddrExtUseEventComm OBJECT-TYPE
                SYNTAX TruthValue
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                "This object is used only when sending RMON alarms as SNMPv3 traps.
                When it is set to TRUE and an RMON risingAlarm or fallingAlarm is being sent
                for an event, then the eventCommunity in the RMON event table is compared to 
                the snmpTargetAddrName in the snmpTargetAddrTable. The alarm is sent to the 
                target only when the two are the same. This behavior is exhibited only when the
                snmpTargetParamsMPModel corresponding to the target indicates an SNMPv3 trap. For 
                SNMPv1/v2c traps, the community in the RMON trapDestTable is used for the 
                comparision, which is the 'regular' method, as per the standards.
                When this object is set to FALSE, then the RMON alarm (if being sent as an SNMPv3
                trap) is sent without using the event community for any comparision."
                DEFVAL { true }        
                ::= { extremeTargetAddrExtEntry 4 }
    
END


-- ################################################################################

EXTREME-EAPS-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
                OBJECT-TYPE             FROM SNMPv2-SMI
                Unsigned32              FROM SNMPv2-SMI
                TEXTUAL-CONVENTION      FROM SNMPv2-TC
                TruthValue              FROM SNMPv2-TC
                RowStatus               FROM SNMPv2-TC
                DisplayString           FROM RFC1213-MIB
                extremeAgent            FROM EXTREME-BASE-MIB;

    extremeEaps MODULE-IDENTITY
        LAST-UPDATED "0502151530Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Ethernet Automatic Protection Switching information."  
        ::= { extremeAgent 18 }


    EapsDomainMode
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "Indicates the configured mode of an EAPS domain."
        SYNTAX      INTEGER { invalid (0),
                              master  (1),
                              transit (2)
                            }

    EapsMbrVlanType
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "Indicates the type of vlan, whether it is control or
                     protected vlan, that is being added to the
                     EAPS domain."
        SYNTAX      INTEGER { unassigned (0),
                              control    (1),
                              protected  (2)
                            }

    EapsRingPort
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "This represents an EAPS ring-port."
        SYNTAX      INTEGER (0..2147483647)

    EapsPortType
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "Indicates the ring port of the EAPS domains. The ring port
                     can be primary or secondary. This is used to specify which
                     port is being unconfigured."
        SYNTAX      INTEGER {
                              primary    (1),
                              secondary  (2)
                            }

    EapsDomainState
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational state of an EAPS domain.  
                    The states complete(1), failed(2), init(6), precomplete(7),
                    and preinit(8) apply only to domains configured as master.
                    The states linksup(3), linkdown(4) and preforwarding(5) 
                    apply only to domains configured as transit.  
                    The state init(0) applys to domains configured as either 
                    master or transit."
        SYNTAX      INTEGER { idle          (0),
                              complete      (1),
                              failed        (2),
                              linksup       (3),
                              linkdown      (4),
                              preforwarding (5),
                              init          (6),
                              precomplete   (7),
                              preinit       (8)
                            }

    EapsDomainPortStatus
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational state of an EAPS domain's ring-ports.
                    If the state is unknown (0), it indicates the domain is
                    still not up yet.
                    The valid states are up(1), down(2), blocked(3)."
        SYNTAX      INTEGER { 
                              unknown     (0),
                              up          (1),
                              down        (2),
                              blocked     (3)
                            }

    EapsFailTimerExpiryAction
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The action to take when the failed timer expires.

                     If action is configured to sendAlert(0), and the 
                     fail expires, the Master will remain in Complete or Init
                     state, and a trap - extremeEapsFailTimerExpFlagSet - will 
                     be sent. 
                     When this fail timer stops expiring another trap -
                     extremeEapsFailTimerExpFlagClear - will be sent.

                     If the action is configured to openSecondaryPort(1), and 
                     the fail timer expires, the Master's state will be set to
                     Failed, and it will open the secondary port."
        SYNTAX      INTEGER { sendAlert         (0),
                              openSecondaryPort (1)
                            }

    EapsSharedPortState
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational state of an EAPS Shared-Port instance.  
                    The states are idle(0), ready(1), blocking(2), and
                    preforwarding(3)."
        SYNTAX      INTEGER { idle          (0),
                              ready         (1),
                              blocking      (2),
                              preforwarding (3)
                            }


    EapsSharedPortMode
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "If the mode is unconfigured(0), it indicates the EAPS 
                     shared port's mode has yet to be configured.
                     The valid configured modes of an EAPS Shared-port are
                     controller(1) and partner(2)"
        SYNTAX      INTEGER { 
                              unconfigured  (0),
                              controller    (1),
                              partner       (2)
                            }

    EapsSharedPortSegmentTimerExpiryAction
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The action to take when the EAPS Shared-port's segment 
                     timer expires.

                     If action is configured to sendAlert(0), and the 
                     segment timer expires, the segment's status will remain
                     in Up state, and  a trap -
                     extremeEapsSegmentTimerExpFlagSet - will be sent. 
                     When this segment timer stops expiring another trap -
                     extremeEapsSegmentTimerExpFlagClear - will be sent.

                     If the action is configured to segmentDown(1), and the
                     segment timer expires, the segment's status will be set to
                     Down."
        SYNTAX      INTEGER { sendAlert   (0),
                              segmentDown (1)
                            }

    EapsSharedPortNeighborStatus
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational status of an EAPS Shared-port's neighbor
                    reachabilty.
                    The states are neighborDown(0), neighborUp(1), and
                    neighborError(2)."
        SYNTAX      INTEGER { neighborDown         (0),
                              neighborUp           (1),
                              neighborError        (2)
                            }

    EapsSharedPortRootBlockerStatus
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational status of an EAPS Shared-port's Root- 
                    Blocker.
                    The states are false(0), active(1), and inactive(2)."
        SYNTAX      INTEGER { false         (0),
                              active        (1),
                              inactive      (2)
                            }

    EapsSharedPortSegmentStatus
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational status of an EAPS Shared-port's segments.
                    The states are unknown(0), segUp(1), segDown(2), 
                    segBlockingUp(3) and segBlockingDown(4)."
        SYNTAX      INTEGER { unknown          (0),
                              segUp            (1),
                              segDown          (2),
                              segBlockingUp    (3),
                              segBlockingDown  (4)
                            }

    EapsSharedPortVlanPortStatus
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational status of an EAPS Shared-port's vlan-port.
                    The states are unknown(0), activeOpen(1), blocked(2), 
                    open(3) and down(4)."
        SYNTAX      INTEGER { unknown          (0),
                              activeOpen       (1),
                              blocked          (2),
                              open             (3),
                              down             (4)
                            }

    extremeEapsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeEapsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains EAPS information about all EAPS
                 domains on this device."
        ::= { extremeEaps 1 }


    extremeEapsEntry OBJECT-TYPE
        SYNTAX ExtremeEapsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "An individual entry of this table contains EAPS 
                 information related to that EAPS domain."
        INDEX { extremeEapsName }
        ::= { extremeEapsTable 1 }

    ExtremeEapsEntry ::= SEQUENCE {
        extremeEapsName                     DisplayString,
        extremeEapsMode                     EapsDomainMode,
        extremeEapsState                    EapsDomainState,
        extremeEapsFailedFlag               TruthValue,
        extremeEapsEnabled                  TruthValue,
        extremeEapsPrimaryPort              EapsRingPort,
        extremeEapsSecondaryPort            EapsRingPort,
        extremeEapsHelloTimer               INTEGER,
        extremeEapsHelloTimerMs             INTEGER,
        extremeEapsFailedTimer              INTEGER,
        extremeEapsFailedTimerExpiryAction  EapsFailTimerExpiryAction,
        extremeEapsUnconfigRingPort         EapsPortType,
        extremeEapsPrimaryStatus            EapsDomainPortStatus,
        extremeEapsSecondaryStatus          EapsDomainPortStatus,
        extremeEapsProtectedVlansCount      INTEGER,
        extremeEapsRowStatus                RowStatus
    }

    extremeEapsName  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..32))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The EAPS domain name."
        ::= { extremeEapsEntry 1 }

    extremeEapsMode OBJECT-TYPE
        SYNTAX      EapsDomainMode
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the mode of the EAPS domain."
        ::= { extremeEapsEntry 2 }

    extremeEapsState OBJECT-TYPE
        SYNTAX      EapsDomainState
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the current EAPS state of this EAPS 
                    domain."
        ::= { extremeEapsEntry 3 }

    extremeEapsFailedFlag OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the status of the failed flag.
                    If the failed timer expires while its expiry action is 
                    configured to sendAlert, this failed flag is set.
                    It is then cleared when the failed timer stops expiring, or
                    the expiry action is configured to openSecondaryPort."
        ::= { extremeEapsEntry 4 }

    extremeEapsEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicated if this domain has been enabled or not."
        ::= { extremeEapsEntry 5 }

    extremeEapsPrimaryPort OBJECT-TYPE
        SYNTAX      EapsRingPort
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the EAPS domain's primary ring-port.
                     Value of 0 indicates the primary port is still not 
                     configured"
        ::= { extremeEapsEntry 6 }

    extremeEapsSecondaryPort OBJECT-TYPE
        SYNTAX      EapsRingPort
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the EAPS domain's secondary ring-port.
                     Value of 0 indicates the secondary port is still not
                     configured"
        ::= { extremeEapsEntry 7 }

    extremeEapsHelloTimer OBJECT-TYPE
        SYNTAX      INTEGER (0..15)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the EAPS domain's hello timer's value
                     in seconds."
        ::= { extremeEapsEntry 8 }

    extremeEapsFailedTimer OBJECT-TYPE
        SYNTAX      INTEGER (2..300)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the EAPS domain's failed timer's value
                     in seconds."
        ::= { extremeEapsEntry 9 }

    extremeEapsFailedTimerExpiryAction OBJECT-TYPE
        SYNTAX      EapsFailTimerExpiryAction
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the action taken by the domain when the
                     fail timer expires. 
                     If the action is to sendAlert, then a SNMP trap -
                     extremeEapsFailTimerExpFlagSet - will be sent, and the
                     secondary port will continue to remain in blocking state.
                     If the action is to openSecondaryPort, then the secondary
                     port will open and be set to forwarding state."
        ::= { extremeEapsEntry 10 }

    extremeEapsUnconfigRingPort OBJECT-TYPE
        SYNTAX      EapsPortType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This specifies which EAPS domain port is being
                     unconfigured.
                     Value of 1, indicates unconfigure the primary port.
                     Value of 2, indicates unconfigure secondary port."
        ::= { extremeEapsEntry 11 }

    extremeEapsPrimaryStatus OBJECT-TYPE
        SYNTAX      EapsDomainPortStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the status of the EAPS domain's primary
                     ring-port."
        ::= { extremeEapsEntry 12 }

    extremeEapsSecondaryStatus OBJECT-TYPE
        SYNTAX      EapsDomainPortStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the status of the EAPS domain's secondary
                     ring-port."
        ::= { extremeEapsEntry 13 }

    extremeEapsProtectedVlansCount OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This gives the count of the number of vlans that are 
                     being protected by this EAPS domain."
        ::= { extremeEapsEntry 14 }

    extremeEapsRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The status of this entry as per standard RowStatus 
                     conventions."
        ::= { extremeEapsEntry 15 }

    extremeEapsHelloTimerMs OBJECT-TYPE
        SYNTAX      INTEGER (100..900)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the milliseconds portion of the EAPS domain's hello timer value
                     in milliseconds."
        ::= { extremeEapsEntry 16 }


    extremeEapsPrevState OBJECT-TYPE
        SYNTAX      EapsDomainState
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION "This indicates the previous EAPS state of this EAPS 
                     domain. Used in state change traps information."
       ::= { extremeEaps 2 }


    extremeEapsGlobalInfo OBJECT IDENTIFIER
        ::= { extremeEaps 3 }
        
    extremeEapsGlobalEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates if EAPS is enabled globally on the switch."
        ::= { extremeEapsGlobalInfo 1 }

    extremeEapsGlobalFastConvergence OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates if Fast Convergence is enabled globally on the 
                     switch."
        ::= { extremeEapsGlobalInfo 2 }

    extremeEapsLastConfigurationChange OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates the last time there was any change in 
                     EAPS configuration on the switch."
        ::= { extremeEapsGlobalInfo 3 }


    extremeEapsLastStatusChange OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates the last time there was any change in 
                     EAPS domain, EAPS port, shared port, or segment status on
                     the switch.  Time changes for extremeEapsState, 
                     extremeEapsSharedPortState, extremeEapsSharedPortSegmentStatus,
                     extremeEapsFailedFlag, extremeEapsPrimaryStatus, 
                     extremeEapsSecondaryStatus, extremeEapsSharedPortNbrStatus,
                     extremeEapsSharedPortRootBlockerStatus, 
                     extremeEapsSharedPortSegmentFlagFailed."
        ::= { extremeEapsGlobalInfo 4 }

    extremeEapsStatusTrapCount OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates the number of status traps sent out since the switch
                     booted.  Status traps counted include
                     extremeEapsSharedPortStateChange
                     extremeEapsRootBlockerStatusChange
                     extremeEapsPortStatusChange
                     extremeEapsStateChange
                     extremeEapsFailTimerExpFlagSet
                     extremeEapsFailTimerExpFlagClear."
        ::= { extremeEapsGlobalInfo 5 }

    extremeEapsMbrVlanTable OBJECT-TYPE    
        SYNTAX      SEQUENCE OF ExtremeEapsMbrVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table contains the control and all protected vlans 
                     added to each EAPS domain on this device.
                     There can be only 1 control vlan, while many
                     protected vlans added to a EAPS domain."
        ::= { extremeEaps 4 }

    extremeEapsMbrVlanEntry OBJECT-TYPE
        SYNTAX      ExtremeEapsMbrVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An individual entry of this table correlates a EAPS
                    domain with a VLAN added to it and its type whether it is
                    control or protected."
        INDEX       { extremeEapsName,
                      extremeEapsMbrVlanName,
                      extremeEapsMbrVlanType
                    }
        ::= { extremeEapsMbrVlanTable 1 }

    ExtremeEapsMbrVlanEntry ::= SEQUENCE { 
        extremeEapsMbrVlanName    DisplayString,
        extremeEapsMbrVlanType    EapsMbrVlanType,
        extremeEapsMbrVlanTag     INTEGER,
        extremeEapsMbrVlanRowStatus RowStatus
    }

    extremeEapsMbrVlanName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The member VLAN's name."
        ::= { extremeEapsMbrVlanEntry 1 }

    extremeEapsMbrVlanType OBJECT-TYPE
        SYNTAX      EapsMbrVlanType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The member VLAN's type whether it is control or 
                     protected."
        ::= { extremeEapsMbrVlanEntry 2 }

    extremeEapsMbrVlanTag OBJECT-TYPE
        SYNTAX      INTEGER (1..4095)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The member VLAN's Vlan Id tag."
        ::= { extremeEapsMbrVlanEntry 3 }

    extremeEapsMbrVlanRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The status of this entry as per standard RowStatus
                     conventions."
        ::= { extremeEapsMbrVlanEntry 4 }


    extremeEapsSharedPortTable OBJECT-TYPE    
        SYNTAX      SEQUENCE OF ExtremeEapsSharedPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table contains all EAPS shared ports configured 
                    on this device."
        ::= { extremeEaps 5 }

    extremeEapsSharedPortEntry OBJECT-TYPE
        SYNTAX      ExtremeEapsSharedPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An individual entry of this table describes the 
                    configuration of an EAPS shared port."
        INDEX       { extremeEapsSharedPortIfIndex }
        ::= { extremeEapsSharedPortTable 1 }

    ExtremeEapsSharedPortEntry ::= SEQUENCE { 
        extremeEapsSharedPortIfIndex   EapsRingPort,
        extremeEapsSharedPortMode      EapsSharedPortMode,
        extremeEapsSharedPortLinkId    INTEGER,
        extremeEapsSharedPortSegmentTimerExpiryAction EapsSharedPortSegmentTimerExpiryAction,
        extremeEapsSharedPortState                EapsSharedPortState,
        extremeEapsSharedPortNbrStatus            EapsSharedPortNeighborStatus,
        extremeEapsSharedPortDomainsCount         INTEGER,
        extremeEapsSharedPortProtectedVlansCount  INTEGER,
        extremeEapsSharedPortRootBlockerStatus    EapsSharedPortRootBlockerStatus,
        extremeEapsSharedPortRootBlockerId        INTEGER,
        extremeEapsSharedPortRowStatus            RowStatus
    }

    extremeEapsSharedPortIfIndex OBJECT-TYPE
        SYNTAX      EapsRingPort
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The ifIndex of a port configured as an EAPS shared port."
        ::= { extremeEapsSharedPortEntry 1 }

    extremeEapsSharedPortMode OBJECT-TYPE
        SYNTAX      EapsSharedPortMode
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The configured mode of the EAPS shared port."
        ::= { extremeEapsSharedPortEntry 2 }

    extremeEapsSharedPortLinkId OBJECT-TYPE
        SYNTAX      INTEGER (0..65534)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The configured Link Id for the EAPS shared port.
                     Each common link in the entire network will be assigned a
                     unique link Id. Each shared-port instance on either end
                     of this common link will be configured with this 
                     link Id.
                     Value of 0 indicates the link Id is still not configured."
        ::= { extremeEapsSharedPortEntry 3 }

    extremeEapsSharedPortSegmentTimerExpiryAction OBJECT-TYPE
        SYNTAX      EapsSharedPortSegmentTimerExpiryAction
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the action taken by the EAPS Shared port
                     instance when a segment timer expires. 
                     If the action is sendAlert, then when the segment timer
                     expires, an SNMP trap will be sent, and the segment will
                     remain in Up state, with the failed flag set to True.
                     If the action is segmentDown, then when the timer expires,
                     the segment will be set to Down state."
        ::= { extremeEapsSharedPortEntry 4 }

    extremeEapsSharedPortState OBJECT-TYPE
        SYNTAX      EapsSharedPortState
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the state of the EAPS Shared port instance.
                    The states can be idle(0), ready(1), blocking(2), and
                    preforwarding(3)."
        ::= { extremeEapsSharedPortEntry 5 }

    extremeEapsSharedPortNbrStatus OBJECT-TYPE
        SYNTAX      EapsSharedPortNeighborStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the status of reachabilty to the neighbor
                     on the other end of the Shared-segment. 
                     If the neighbor on the other end is reachable with 
                     matching link-id and different modes, then the status is 
                     NeighborUp.
                     If the neighbor is not reachable, this status is 
                     NeighborDown.
                     If the neighbor is reachable, but with the same mode,
                     then this status is set to Error."
        ::= { extremeEapsSharedPortEntry 6 }

    extremeEapsSharedPortDomainsCount OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This gives the count of the number of EAPS domains that
                     are sharing this shared-port."
        ::= { extremeEapsSharedPortEntry 7 }

    extremeEapsSharedPortProtectedVlansCount OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This gives the count of the number of vlans that are 
                     being protected by this shared-port instance."
        ::= { extremeEapsSharedPortEntry 8 }
                   
    extremeEapsSharedPortRootBlockerStatus OBJECT-TYPE
        SYNTAX      EapsSharedPortRootBlockerStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "If this shared port instance is not in Root blocker state,
                     the status is False.
                     If the shared port is in Root blocker state, and its 
                     path detect message is being returned to it, it is in 
                     Active state.
                     If the shared port is in Root blocker state, but its
                     path detect message is not making it back to itself, then
                     its root blocker status is Inactive."
        ::= { extremeEapsSharedPortEntry 9 }

    extremeEapsSharedPortRootBlockerId OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is the Link Id of the Root Blocker in the entire
                     network.
                     If there is no root blocker in the network, this value
                     is 65535."
        ::= { extremeEapsSharedPortEntry 10 }

    extremeEapsSharedPortRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The status of this entry as per standard RowStatus 
                     conventions."
        ::= { extremeEapsSharedPortEntry 11 }


    extremeEapsSharedPortSegmentTable OBJECT-TYPE    
        SYNTAX      SEQUENCE OF ExtremeEapsSharedPortSegmentEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table contains the EAPS shared port's segments 
                     information"
        ::= { extremeEaps 6 }

    extremeEapsSharedPortSegmentEntry OBJECT-TYPE
        SYNTAX      ExtremeEapsSharedPortSegmentEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An individual entry of this table describes the EAPS
                     shared port's segment information. It will describe the
                     EAPS domain, the segment's status, and other information
                     related to neighboring node's blocking status."
        INDEX       { extremeEapsSharedPortIfIndex,
                      extremeEapsSharedPortSegmentPort,
                      extremeEapsName
                    }
        ::= { extremeEapsSharedPortSegmentTable 1 }

    ExtremeEapsSharedPortSegmentEntry ::= SEQUENCE { 
        extremeEapsSharedPortSegmentPort           EapsRingPort,
        extremeEapsSharedPortSegmentStatus         EapsSharedPortSegmentStatus,
        extremeEapsSharedPortSegmentFailedFlag     TruthValue,
        extremeEapsSharedPortSegmentVlanPortCount  INTEGER,
        extremeEapsSharedPortSegmentAdjId          INTEGER,
        extremeEapsSharedPortSegmentRBD            INTEGER
    }

    extremeEapsSharedPortSegmentPort OBJECT-TYPE
        SYNTAX      EapsRingPort
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The segment port on a segment which is part of an EAPS 
                     shared port."
        ::= { extremeEapsSharedPortSegmentEntry 1 }

    extremeEapsSharedPortSegmentStatus OBJECT-TYPE
        SYNTAX      EapsSharedPortSegmentStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The status of a segment port which is part of an EAPS 
                     shared port."
        ::= { extremeEapsSharedPortSegmentEntry 2 }

    extremeEapsSharedPortSegmentFailedFlag OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The status of the failed flag on a segment port which is 
                     part of an EAPS shared port.
                     This flag will be set to TRUE if the segment's fail timer
                     expiry action is set to sendAlert, and this timer expires"
        ::= { extremeEapsSharedPortSegmentEntry 3 }

    extremeEapsSharedPortSegmentVlanPortCount OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The count of vlan ports being protected under this 
                     segment's EAPS domain."
        ::= { extremeEapsSharedPortSegmentEntry 4 }

    extremeEapsSharedPortSegmentAdjId OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The link Id of a neighboring node if the neighbor's 
                     shared port instance was in blocking state."
        ::= { extremeEapsSharedPortSegmentEntry 5 }

    extremeEapsSharedPortSegmentRBD OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The Root Blocker Id as determined by the neighboring 
                     node's shared port instance."
        ::= { extremeEapsSharedPortSegmentEntry 6 }


    extremeEapsSharedPortVlanTable OBJECT-TYPE    
        SYNTAX      SEQUENCE OF ExtremeEapsSharedPortVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table contains all VLANs protected by the EAPS 
                     Shared Port instance."
        ::= { extremeEaps 7 }

    extremeEapsSharedPortVlanEntry OBJECT-TYPE
        SYNTAX      ExtremeEapsSharedPortVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An individual entry of this table correlates a EAPS
                    Shared port instance with a VLAN protected by it."
        INDEX       { extremeEapsSharedPortIfIndex,
                      extremeEapsSharedPortVlanName
                    }
        ::= { extremeEapsSharedPortVlanTable 1 }

    ExtremeEapsSharedPortVlanEntry ::= SEQUENCE {
        extremeEapsSharedPortVlanName           DisplayString,
        extremeEapsSharedPortVlanPortCount      INTEGER,
        extremeEapsSharedPortVlanActiveOpenPort EapsRingPort
    }

    extremeEapsSharedPortVlanName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The vlan being protected under this EAPS Shared port
                     instance"
        ::= { extremeEapsSharedPortVlanEntry 1 }

    extremeEapsSharedPortVlanPortCount OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The count of vlan ports being protected under this
                     vlan"
        ::= { extremeEapsSharedPortVlanEntry 2 }

    extremeEapsSharedPortVlanActiveOpenPort OBJECT-TYPE
        SYNTAX      EapsRingPort
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Segment port that is Active Open.
                     If there is no Active open port, then this value is 0."
        ::= { extremeEapsSharedPortVlanEntry 3 }

    extremeEapsSharedPortVlanPortTable OBJECT-TYPE    
        SYNTAX      SEQUENCE OF ExtremeEapsSharedPortVlanPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table contains the EAPS shared port's vlan-port's 
                     information"
        ::= { extremeEaps 8 }

    extremeEapsSharedPortVlanPortEntry OBJECT-TYPE
        SYNTAX      ExtremeEapsSharedPortVlanPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An individual entry of this table describes the EAPS
                     shared port's vlan port information. It will describe the
                     status of the vlan port under its protection."
        INDEX       { extremeEapsSharedPortIfIndex,
                      extremeEapsSharedPortVlanName,
                      extremeEapsSharedPortSegmentPort,
                      extremeEapsName
                    }
        ::= { extremeEapsSharedPortVlanPortTable 1 }

    ExtremeEapsSharedPortVlanPortEntry ::= SEQUENCE { 
        extremeEapsSharedPortVlanPortStatus    EapsSharedPortVlanPortStatus
    }

    extremeEapsSharedPortVlanPortStatus OBJECT-TYPE
        SYNTAX      EapsSharedPortVlanPortStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The status of a vlan port which is getting protected
                     by an EAPS shared port."
        ::= { extremeEapsSharedPortVlanPortEntry 1 }

END
-- ################################################################################

EXTREME-LACP-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
                OBJECT-TYPE             FROM SNMPv2-SMI
                Unsigned32              FROM SNMPv2-SMI
                TEXTUAL-CONVENTION      FROM SNMPv2-TC
                TruthValue              FROM SNMPv2-TC
                RowStatus               FROM SNMPv2-TC
                DisplayString           FROM RFC1213-MIB
                extremeAgent            FROM EXTREME-BASE-MIB;

    extremeLacp MODULE-IDENTITY
        LAST-UPDATED "0502151530Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Ethernet Automatic Protection Switching information."  
        ::= { extremeAgent 19 }

    LacpGroupId
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "This represents the LACP's LAG group id."
        SYNTAX      DisplayString (SIZE(1..32))


    LacpMemberPort
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "This represents a LACP LAG's member-port."
        SYNTAX      Unsigned32 (0..4294967295)


    extremeLacpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeLacpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains LACP information about all LACP
                 LAGs on this device."
        ::= { extremeLacp 1 }


    extremeLacpEntry OBJECT-TYPE
        SYNTAX ExtremeLacpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "An individual entry of this table contains LACP 
                 information related to that LACP LAG."
        INDEX { extremeLacpGroup,
                extremeLacpMemberPort }
        ::= { extremeLacpTable 1 }

    ExtremeLacpEntry ::= SEQUENCE {
        extremeLacpGroup                LacpGroupId,
        extremeLacpMemberPort           LacpMemberPort,
        extremeLacpAggStatus            TruthValue
    }


    extremeLacpGroup  OBJECT-TYPE
        SYNTAX       LacpGroupId
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "This represents the LACP LAG (Link Aggregation Group's) 
                      identifier."
        ::= { extremeLacpEntry 1 }

    extremeLacpMemberPort  OBJECT-TYPE
        SYNTAX       LacpMemberPort
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  
               "This represents a member port within the LAG." 
        ::= { extremeLacpEntry 2 }

    extremeLacpAggStatus  OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  
               "This represents if the member port has been added to the
                aggregator or not." 
        ::= { extremeLacpEntry 3 }

    
END
-- ################################################################################

EXTREME-NP-MIB DEFINITIONS ::= BEGIN

    IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
        OBJECT-TYPE     FROM SNMPv2-SMI
                Unsigned32    FROM SNMPv2-SMI
        Counter32    FROM SNMPv2-SMI
        Counter64    FROM SNMPv2-SMI
                IpAddress       FROM SNMPv2-SMI
        DisplayString   FROM RFC1213-MIB
        extremeAgent    FROM EXTREME-BASE-MIB;
        


        extremeNPMib MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme NP objects: NP card information"
        ::= { extremeAgent 21 }

    extremeNPModule    OBJECT IDENTIFIER ::= { extremeNPMib 1 }
    
    extremeNPModuleTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeNPModuleEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table containing information about each Intelligent
        module in the chassis."
            ::= { extremeNPModule 1 }

    extremeNPModuleEntry OBJECT-TYPE
        SYNTAX  ExtremeNPModuleEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table entry containing information about the
        intelligent modules configured in the chassis.
        This table does not contain rows for the slots
        which do not have a network processor based module."
        INDEX      { extremeNPModuleSlotNumber }
            ::= { extremeNPModuleTable 1 }

    ExtremeNPModuleEntry ::= SEQUENCE {
        extremeNPModuleSlotNumber        INTEGER,        
        extremeNPModuleDescription        DisplayString,
        extremeNPModuleCurrentSoftware        DisplayString,
        extremeNPModulePrimarySoftware        DisplayString,
        extremeNPModuleSecondarySoftware    DisplayString,
        extremeNPModuleBootromVersion        DisplayString,
        extremeNPModuleProcessorState        OCTET STRING
    }
    
    
    extremeNPModuleSlotNumber OBJECT-TYPE
        SYNTAX INTEGER(1..8)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the particular slot 
        in the chassis."
        ::= { extremeNPModuleEntry 1 }

    extremeNPModuleDescription   OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..32))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "A description of the particular slot in the chassis."
        ::= { extremeNPModuleEntry 2 }

    extremeNPModuleCurrentSoftware   OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..160))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The version of the software currently running on the module."
        ::= { extremeNPModuleEntry 3 }

    extremeNPModulePrimarySoftware   OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..160))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The version of software in the primary image of the module."
        ::= { extremeNPModuleEntry 4 }
                       
    extremeNPModuleSecondarySoftware   OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..160))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The version of software in the secondary image of the module."
        ::= { extremeNPModuleEntry 5 }

    extremeNPModuleBootromVersion   OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..80))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The version of bootrom that the module will use when restarting."
        ::= { extremeNPModuleEntry 6 }

    extremeNPModuleProcessorState   OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (8))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "An Octet String indicating the status of the various processors
        on an Intelligent Module. Each byte in the Octet String represents
        state for one processor.
        For the Avalanche based PoS and ARM modules, the first byte (from MSB)
        represents the state of the General Purpose Processor, the second byte
        the state of Network Processor 1, and the third byte the state of Network
        Processor 2 and so on. A value of 0 in each byte indicates that the
        Processor is not operational, while a value 1 indicates that it is."
        ::= { extremeNPModuleEntry 7 }
        
      
--        
-- SMA Module
--

    extremeSMAModule OBJECT IDENTIFIER ::= { extremeNPMib 2 }
    
    extremeSMATable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeSMAEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table containing information about each SMA
        module in the chassis."
            ::= { extremeSMAModule 1 }

    extremeSMAEntry OBJECT-TYPE
        SYNTAX  ExtremeSMAEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table entry containing information about the
        SMA modules configured in the chassis.
        This table does not contain rows for the slots
        which do not have an SMA module."
        INDEX      { extremeSMASlotNumber }
            ::= { extremeSMATable 1 }

    ExtremeSMAEntry ::= SEQUENCE {          
        extremeSMASlotNumber            INTEGER,  
        extremeSMAProtocolVersion        INTEGER,
        extremeSMAServiceVersion        DisplayString,
        extremeSMAUpTime            Unsigned32,
        extremeSMACpuUtilization                Unsigned32,
        extremeSMAMemUtilization                Unsigned32,
        extremeSMAQosBroadcaster                Unsigned32,        
        extremeSMANumFromBroadcaster            Unsigned32,        
        extremeSMANumToListener                 Unsigned32,
        extremeSMABytesBroadcaster        Counter64,
        extremeSMABytesListener            Counter64
    }
    
    extremeSMASlotNumber OBJECT-TYPE
        SYNTAX INTEGER(1..8)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the particular slot 
        in the chassis."
        ::= { extremeSMAEntry 1 }
                
    extremeSMAProtocolVersion OBJECT-TYPE
        SYNTAX INTEGER(1..255)
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "Protocol version."
        ::= { extremeSMAEntry 2 }
    
    extremeSMAServiceVersion OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..128))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "Service release version."
        ::= { extremeSMAEntry 3 }
        
    extremeSMAUpTime OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Continuous operating time of the module in seconds."
        ::= { extremeSMAEntry 4 }
        
    extremeSMACpuUtilization OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Percentage of CPU utilized in the last 5 seconds."
        ::= { extremeSMAEntry 5 }
    
    extremeSMAMemUtilization OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Percentage of memory utilized."        
        ::= { extremeSMAEntry 6 }

    extremeSMAQosBroadcaster OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION        
        "60 second rolling average of %QoS.
        Number of bytes received / Number of bytes expected per duration.
        Note: this can potentially exceed 100%."
        ::= { extremeSMAEntry 7 }            
                
        extremeSMANumFromBroadcaster OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The total number of broadcasters sending streams."
        ::= { extremeSMAEntry 8 }
                
    extremeSMANumToListener OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION        
        "The total number of listeners connected."
        ::= { extremeSMAEntry 9 }
        
    extremeSMABytesBroadcaster OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION        
        "The total number of media bytes received from the broadcasters."
        ::= { extremeSMAEntry 10 }
        
    extremeSMABytesListener OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION        
        "The total number of data bytes sent to listeners."
        ::= { extremeSMAEntry 11 }


--        
-- ATM Module
--

    extremeATMModule OBJECT IDENTIFIER ::= { extremeNPMib 3 }
    
    extremeATMCellPduTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeATMCellPduEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table containing information about each ATM
        module in the chassis."
            ::= { extremeATMModule 1 }

    extremeATMCellPduEntry OBJECT-TYPE
        SYNTAX  ExtremeATMCellPduEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table entry containing information about the
        ATM modules configured in the chassis.
        This table does not contain rows for the slots
        which do not have an ATM module."
        INDEX      { extremeATMPortNumber }
            ::= { extremeATMCellPduTable 1 }


    ExtremeATMCellPduEntry ::= SEQUENCE {          
          extremeATMPortNumber         INTEGER,  
                extremeATMRxCell             Unsigned32,
                extremeATMTxCell             Unsigned32,
                extremeATMRxCellHecError     Unsigned32,   
                extremeATMRxCellError        Unsigned32,
                extremeATMRxAAL5Pdu          Unsigned32,
                extremeATMTxAAL5Pdu          Unsigned32,
                extremeATMRxAAL5Bytes        Counter64,
                extremeATMTxAAL5Bytes        Counter64,
                extremeATMPortStatus         DisplayString
    }


    extremeATMPortNumber OBJECT-TYPE
        SYNTAX INTEGER(1..64)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the particular port number
        in the chassis."
        ::= { extremeATMCellPduEntry 1 }

    extremeATMRxCell OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number of ATM cell Received."
        ::= { extremeATMCellPduEntry 2 }

    extremeATMTxCell OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number of ATM cell Transmitted."
        ::= { extremeATMCellPduEntry 3 }
                
    extremeATMRxCellHecError OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number of received cells with HEC error."
        ::= { extremeATMCellPduEntry 4 }
                
    extremeATMRxCellError OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number of received cells discarded due to other error."
        ::= { extremeATMCellPduEntry 5 }
                

        extremeATMRxAAL5Pdu OBJECT-TYPE      
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number AAL-5 PDU Received."
        ::= { extremeATMCellPduEntry 6 }

        extremeATMTxAAL5Pdu OBJECT-TYPE      
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number AAL-5 PDU Transmitted."
        ::= { extremeATMCellPduEntry 7 }

        extremeATMRxAAL5Bytes OBJECT-TYPE      
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number AAL-5 PDU Octetd Received."
        ::= { extremeATMCellPduEntry 8 }

        extremeATMTxAAL5Bytes OBJECT-TYPE      
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number AAL-5 PDU Octetd Transmitted."
        ::= { extremeATMCellPduEntry 9 }

    extremeATMPortStatus OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..4))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "ATM port status."
        ::= { extremeATMCellPduEntry 10 }


-- Table 2
    extremeATMVpiVciTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeATMVpiVciEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table containing information about each ATM
        module in the chassis."
            ::= { extremeATMModule 2 }

    extremeATMVpiVciEntry OBJECT-TYPE
        SYNTAX  ExtremeATMVpiVciEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table entry containing information about the
        ATM modules configured in the chassis.
        This table does not contain rows for the slots
        which do not have an ATM module."
        INDEX      { extremeATMPortNum,
                            extremeATMPvc        }
            ::= { extremeATMVpiVciTable 1 }

    ExtremeATMVpiVciEntry ::= SEQUENCE {          
          extremeATMPortNum            INTEGER,  
                extremeATMPvc                INTEGER,
                extremeATMVpi                INTEGER,
                extremeATMVci                INTEGER
    }

    extremeATMPortNum OBJECT-TYPE
        SYNTAX INTEGER(1..64)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the particular port number
        in the chassis."
        ::= { extremeATMVpiVciEntry 1 }

    extremeATMPvc OBJECT-TYPE
        SYNTAX INTEGER(1..3072)
                MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the pvc number configured
        on a single port."
        ::= { extremeATMVpiVciEntry 2 }

    extremeATMVpi OBJECT-TYPE
        SYNTAX INTEGER(0..15)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the VPI value
        of the configured PVCs."
        ::= { extremeATMVpiVciEntry 3 }

    extremeATMVci OBJECT-TYPE
        SYNTAX INTEGER(17..4095)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the VCI value
        of the configured PVCs."
        ::= { extremeATMVpiVciEntry 4 }

--              
-- MPLS TLS Module
--

        extremeMplsModule OBJECT IDENTIFIER ::= { extremeNPMib 4 }
        
        extremeMplsTlsTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeMplsTlsEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "A table containing information about each MPLS TLS
                tunnel in the chassis."
                        ::= { extremeMplsModule 1 }

        extremeMplsTlsEntry OBJECT-TYPE
                SYNTAX  ExtremeMplsTlsEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "A table entry containing information about the
                MPLS TLS tunnel."
                INDEX     { extremeMplsTlsNum }
                        ::= { extremeMplsTlsTable 1 }


        ExtremeMplsTlsEntry ::= SEQUENCE {            
                extremeMplsTlsNum            INTEGER, 
                extremeMplsTlsName           DisplayString,  
                extremeMplsTlsLocalIpAddr    IpAddress,
                extremeMplsTlsPeerIpAddr     IpAddress,
                extremeMplsTlsLocalVlanID    Unsigned32,   
                extremeMplsTlsLocalVlanName  DisplayString,
                extremeMplsTlsDynamic        Unsigned32,
                extremeMplsTlsType           Unsigned32,
                extremeMplsTlsVcID           Unsigned32,
                extremeMplsTlsLocalGroupID   Unsigned32,
                extremeMplsTlsRemoteGroupID  Unsigned32,
                extremeMplsTlsVcState        DisplayString,
                extremeMplsTlsIngressVcLabel Unsigned32,
                extremeMplsTlsEgressVcLabel  Unsigned32, 
                extremeMplsTlsPacketTx       Unsigned32,
                extremeMplsTlsPacketRx       Unsigned32,
                extremeMplsTlsOctetTx        Counter64,
                extremeMplsTlsOctetRx        Counter64
        }

        extremeMplsTlsNum OBJECT-TYPE
                SYNTAX INTEGER (1..16384)
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "An index used to reference each configured TLS tunnel."
                ::= { extremeMplsTlsEntry 1 }

        extremeMplsTlsName OBJECT-TYPE
                SYNTAX DisplayString (SIZE(0..31))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The user defined TLS tunnel identifier name."
                ::= { extremeMplsTlsEntry 2 }

        extremeMplsTlsLocalIpAddr OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel local endpoint IP address, only valid if TLS tunnel
                is Dynamic. Otherwise, this field is set to zero."
                ::= { extremeMplsTlsEntry 3 }

        extremeMplsTlsPeerIpAddr OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel peer endpoint IP address."
                ::= { extremeMplsTlsEntry 4 }

        extremeMplsTlsLocalVlanID  OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The local Egress Vlan ID."
                ::= { extremeMplsTlsEntry 5 }
                                
        extremeMplsTlsLocalVlanName  OBJECT-TYPE
                SYNTAX DisplayString (SIZE(0..31))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The local Egress Vlan Name."
                ::= { extremeMplsTlsEntry 6 }
                                
        extremeMplsTlsDynamic OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Flag indicating that the TLS tunnel is Dynamic. If set, the TLS tunnel
                is dynamically signaled. If zero, the TLS tunnel is statically configured."
                ::= { extremeMplsTlsEntry 7 }
                                
        extremeMplsTlsType OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel type
                0- MPLS, Static
                1- MPLS, Martini ."
                ::= { extremeMplsTlsEntry 8 }

        extremeMplsTlsVcID OBJECT-TYPE      
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The configured VC ID, only valid if TLS tunnel is Dynamic.
                Otherwise, this field is set to zero."
                ::= { extremeMplsTlsEntry 9 }

        extremeMplsTlsLocalGroupID OBJECT-TYPE      
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The configured Local Group ID, only valid if TLS tunnel is Dynamic.
                Otherwise, this field is set to zero."
                ::= { extremeMplsTlsEntry 10 }

        extremeMplsTlsRemoteGroupID OBJECT-TYPE      
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The learned Remote Group ID, only valid if TLS tunnel is Dynamic.
                Otherwise, this field is set to zero."
                ::= { extremeMplsTlsEntry 11 }

        extremeMplsTlsIngressVcLabel OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel VLAN Ingress Label. If the TLS tunnel is Static,
                this value is configured. If TLS tunnel is Dynamic,
                this value is dynamically allocated from the TLS
                label range and signaled to the TLS tunnel peer."
                ::= { extremeMplsTlsEntry 12 }

        extremeMplsTlsEgressVcLabel OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel VLAN Egress Label. If the TLS tunnel is Static,
                this value is configured. If TLS tunnel is Dynamic,
                this value is learned from the TLS tunnel peer."
                ::= { extremeMplsTlsEntry 13 }

        extremeMplsTlsVcState OBJECT-TYPE      
                SYNTAX DisplayString (SIZE(0..79))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel VC state. Valid states include:
                - Idle
                - No LSP Available
                - Waiting for LDP session
                - Pending label mapping
                - Pending local configuration
                - MTU incompatibility
                - Up
                - Unknown
                - Error .. General failure
                - Error .. Targeted LDP session failure
                - Error .. Bridge configuration problem
                - Error .. Ingress label allocation failure
                - Error .. Failure sending TLS label mapping
                - Error .. Patricia tree insertion failure
                - Error .. Failure programming TLS hardware
                - Error .. MPLS not initialized
                - Error .. Unknown."
                ::= { extremeMplsTlsEntry 14 }

        extremeMplsTlsPacketTx  OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The number of Packets Transmitted on this TLS tunnel."
                ::= { extremeMplsTlsEntry 15 }

        extremeMplsTlsPacketRx OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The number of Packets Received on this TLS tunnel."
                ::= { extremeMplsTlsEntry 16 }

        extremeMplsTlsOctetTx OBJECT-TYPE
                SYNTAX Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The number of Octets Transmitted on this TLS tunnel."
                ::= { extremeMplsTlsEntry 17 }

        extremeMplsTlsOctetRx OBJECT-TYPE
                SYNTAX Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The number of Octets Received on this TLS tunnel."
                ::= { extremeMplsTlsEntry 18 }

END

-- ################################################################################

EXTREME-PBQOS-MIB DEFINITIONS ::= BEGIN

    IMPORTS
                MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Counter64
                                FROM SNMPv2-SMI
                TruthValue, RowStatus
                                FROM SNMPv2-TC
                ifEntry         FROM IF-MIB
              OwnerString     FROM RMON-MIB
        DisplayString    FROM RFC1213-MIB 
                extremeAgent, PortList, L4Port
                                FROM EXTREME-BASE-MIB;

        extremeQosPolicy MODULE-IDENTITY
                LAST-UPDATED "9903030000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION 
                        "Extreme QoS Policy configuration objects"
        ::= { extremeAgent 7 }

--
-- ============================================================================
--        Rules
-- ============================================================================
-- 
-- Policy rules are used to define the forwarding behaviour of either data
-- traffic or of signaling messages e.g. RSVP. At the ExtremeWare device <->
-- EEM interface, rules are of the following format:
-- 
-- <rule> ::= <rule_id>, <scope>, <direction>, <filter>, <treatment>
-- 
-- <rule_id> ::= INTEGER
-- <scope> ::= signaled | inband
-- <direction> ::= forward | backward | any
--
-- <filter> ::= <inport> | 
--               <outports>, <filterspec> |
--               <outports>, <iptosspec>
-- 
-- <inport> ::= <physport> | any
-- <outports> ::= <physport>* | any
-- <physport> ::= INTEGER | SLOT:INTEGER
-- 
-- The following fields may be used for classification of traffic into a QoS treatment:
-- - IP destination/range
-- - IP source/range
-- - Incoming IP Type-of-Service/mask/match
-- - transport-layer ProtocolNumber (TCP,UDP,other,any)
-- - TCP/UDP destination port number
-- - TCP/UDP source port number
--
-- These may be used in limited combinations to form compound patterns e.g.
-- IntServ filterspecs based on {IP src/dest, IP protocol number, TCP/UDP
-- src/dest} 5-tuples.
-- 
-- <filterspec> ::= <ipsrcrange> <ipdestrange> <ipproto> <srcport> <dstport>
-- <ipsrcrange> ::= IPADDRESS IPADDRESS
-- <ipdestrange> ::= IPADDRESS IPADDRESS
-- <ipproto> ::= tcp | udp | other | any
-- <srcport> ::= INTEGER(0..65535) | any
-- <dstport> ::= INTEGER(0..65535) | any
-- 
-- <iptosspec> ::= <iptosmatch> <iptosmask>  - match if IPTOS & iptosmask == iptosmatch
-- <iptosmatch> ::= INTEGER 0..255
-- <iptosmask> ::= INTEGER 0..255
-- 
-- N.B. IPTOS support is not available on first generation (1-G) silicon
-- IPTOS values are therefore ignored in EW 5.0.
--
-- Each rule is assigned an identifier, unique within each device. The rule is 
-- tagged as applying to either signaled data flows (i.e. RSVP) or to be
-- applied directly to the data itself. The direction of flow is also specified
-- : these apply to the direction of the *data* flow and indicate whether the
-- rule should be applied to one or both directions of a matching data or
-- signal flow.
--
-- This table specifies which physical input and output ports and what traffic
-- patterns are included in a rule.
-- 
-- Note: these filter fields are in addition to the existing extremeQosByVlanMappingTable 
-- table. ExtremeWare currently has a fixed precedence of filter rules: VLAN has the lowest 
-- precedence, followed by source physicalport, 802.1p, MAC and then IP/TCP/UDP as highest 
-- precedence. This implies that any entry in this extremeQosFilterTable takes precedence over 
-- any VLAN match that might indicate a QoS profile in extremeQosByVlanMappingTable. In addition, 
-- any entry that indicates a <filterspec> that is not "any" takes precedence over a filter 
-- indicating an individual <inport>. Any attempt to write a rule that indicates an individual
-- extremeQosRuleInPort as well as non-DEFVAL value for any of {<ipsrcrange> <ipdestrange> 
-- <ipproto> <srcport> <dstport>} will be rejected by the agent.
-- 
-- In other words, in the language of policy management, there is an implied rule precedence 
-- which is used to resolve conflicts in the case where an incoming data packet could potentially
-- be classified as matching 2 or more rules. Some conflicts can be indicated at the time a 
-- policy rule is applied to the device but others can only be detected and resolved at the
-- time a rule is invoked by an incoming message.
--

    extremeNextAvailableQosRuleIndex OBJECT-TYPE
        SYNTAX            INTEGER
        MAX-ACCESS    read-only
        STATUS            current
        DESCRIPTION
        "The value of the next available QoS Rule index. This
         object is used by an NMS to select an index value 
         for row-creation in the extremeQosRuleTable. The 
         current value of this object is changed to a new
         value when the current value is written to an agent's
         table. Row creation using the current value of this object
                 allocates a extremeQosRuleIndex.  Note the following:
        
         1. A newly created row does not have to be active(1)
            for the agent to allocate the extremeQosRuleIndex.

         2. Race conditions between multiple NMS's end when
            a row is created.  Rows are deemed created when
            a setRequest is successfully committed (i.e.
            the errorStats is noError(0)).

        3.  An agent that exhausts its supply of extremeQosRuleIndex
            values returns zero as the value of this
            object.  This can be used by an NMS as an indication
            to deleted unused rows and reboot the device."
    ::= { extremeQosPolicy 1 }         

    extremeQosClearIPFdb OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will clear the hardware IP
                       flow table."
    ::= { extremeQosPolicy 4 }

    extremeQosClearFdb OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will clear the hardware MAC
                       flow table."
    ::= { extremeQosPolicy 5 }


        extremeQosRuleTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF ExtremeQosRuleEntry
        MAX-ACCESS  not-accessible
        STATUS  current
                DESCRIPTION
                "Table of QoS policy rules. Entries that duplicate the exact
                same set of policy conditions are not allowed."
    ::= { extremeQosPolicy 2 }

        extremeQosRuleEntry OBJECT-TYPE
        SYNTAX  ExtremeQosRuleEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Entry in table of QoS policy rules"
               INDEX { extremeQosRuleIndex } 
    ::= { extremeQosRuleTable 1 }

        ExtremeQosRuleEntry ::= SEQUENCE
        {
                extremeQosRuleIndex             INTEGER,
                extremeQosRuleScope             INTEGER,
                extremeQosRuleDirection         INTEGER,
                extremeQosRuleInPort            INTEGER,
                extremeQosRuleInPortMask        PortList,
                extremeQosRuleDestAddrStart     IpAddress,
                extremeQosRuleDestAddrEnd       IpAddress,
                extremeQosRuleSrcAddrStart      IpAddress,
                extremeQosRuleSrcAddrEnd        IpAddress,
                extremeQosRuleProtocol          INTEGER,
                extremeQosRuleDestL4PortStart   L4Port,
                extremeQosRuleSourceL4PortStart L4Port,
                extremeQosRuleTosMask           OCTET STRING,
                extremeQosRuleTosMatch          OCTET STRING,
                extremeQosRuleQosProfileIndex   INTEGER,
                extremeQosRuleOwner             OwnerString,
                extremeQosRuleRowStatus         RowStatus,
                extremeQosRuleDestL4PortEnd     L4Port,
                extremeQosRuleSourceL4PortEnd   L4Port,
        extremeQosRulePrecedence    INTEGER,
        extremeQosRuleCounter           Counter64,
        extremeQosRuleName        DisplayString
        }

        extremeQosRuleIndex  OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "An index into the table of QoS policy pattern
                rules. The index for a manager to use for creating
                new rows is determined by reading the value of 
                extremeNextAvailableQosRuleIndex."
    ::= { extremeQosRuleEntry 1 }

        extremeQosRuleScope  OBJECT-TYPE
        SYNTAX  INTEGER { any (1), signaled(2), inband(3) }
        MAX-ACCESS     read-create
        STATUS  current
        DESCRIPTION
        "The scope of conditions in which this rule applies.
                The value 'signaled' means that the policy rule is
                applied only to QoS signaling messages e.g. RSVP. The
                value 'inband' means that the policy rule is applied
                only to data traffic passing through this node. the
                value 'any' means that the policy is applied to any
                of the above conditions. 

                Only the value 'any' is supported in ExtremeWare 6.0."
                DEFVAL { any }
    ::= { extremeQosRuleEntry 2 }

        extremeQosRuleDirection  OBJECT-TYPE
        SYNTAX          INTEGER { any(1), forward(2), backward(3) }
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The direction in which this rule applies. The value
                'forward' means that the rule is applied to data streams
                in the direction specified by the classification pattern.
                The value 'backward' means that the rule is applied in
                the reverse direction. The value 'any' means that the
                rule is applied for traffic in either direction of data
                flow. Note that the direction is applied to where the data 
                flow itself will go, not to the direction of any signaling 
                messages e.g. RSVP.

                Only the value 'forward' is supported in ExtremeWare 6.0."
                DEFVAL { forward }
    ::= { extremeQosRuleEntry 3 }

        extremeQosRuleInPort  OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The ifIndex value of the physical switch input port for which 
                this rule applies. Rules that indicate an individual value
                for this object have a lower precedence in ExtremeWare than
                rules that specify IP patterns. Conversely, rules that use IP
                patterns must apply to all physical ports and specify a value
                of 0 for this object.

                Any attempt to write a rule that indicates an individual
                value for this object together with non-default values for any 
                of { extremeQosRuleDestAddrStart, extremeQosRuleDestAddrEnd,
                extremeQosRuleSrcAddrStart, extremeQosRuleSrcAddrEnd,
                extremeQosRuleProtocol, extremeQosRuleDestL4PortStart,
                extremeQosRuleDestL4PortEnd, extremeQosRuleSourceL4PortStart,
                extremeQosRuleSourceL4PortEnd and extremeQosRuleInPortMask }
                will be rejected by the agent."
                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 4 }

        extremeQosRuleInPortMask  OBJECT-TYPE
        SYNTAX          PortList
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The list of physical switch input ports which further
            qualifies an IP flow. This object is an octet string
            with the MSB of octet 0 indicating port 0 and LSB indicating
        port 7. Similarly, the MSB of octet 1 indicates port 8 and it's 
        LSB indicates port 15 and so on. The port numbers are 0-based.
        This object has no meaning for rules defined on physical ports
        that are not associated with an IP flow. Port based rules can be 
        defined by assigning a non zero value to extremeQosRuleInPort. Any
        attempt to set this value without specifying the source/destination 
        address range and/or source/destination l4 port range will be rejected
                by the agent. For IP flows that apply to all physical ports
                in the switch, this will be a zero length octet string."
    ::= { extremeQosRuleEntry 5 }

        extremeQosRuleDestAddrStart  OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The start of the destination IP address range for which this
                 rule applies.If this object has any value other than the
                 default then this rule takes precedence over any rule that
                 specifies an individual physical input port, a VLAN or any
                 incoming implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { '00000000'h }      -- 0.0.0.0
    ::= { extremeQosRuleEntry 6 }

        extremeQosRuleDestAddrEnd  OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The end of the destination IP address range for which this
                 rule applies. If this object has any value other than the
                 default then this rule takes precedence over any rule that
                 specifies an individual physical input port, a VLAN or any
                 incoming implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { 'ffffffff'h }      -- 255.255.255.255
    ::= { extremeQosRuleEntry 7 }

        extremeQosRuleSrcAddrStart  OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The start of the source IP address range for which this rule 
                applies. If this object has any value other than the default
                then this rule takes precedence over any rule that specifies
                an individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { '00000000'h }      -- 0.0.0.0
    ::= { extremeQosRuleEntry 8 }

        extremeQosRuleSrcAddrEnd  OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The end of the source IP address range for which this rule 
                applies. If this object has any value other than the default
                then this rule takes precedence over any rule that specifies
                an individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { 'ffffffff'h }      -- 255.255.255.255
    ::= { extremeQosRuleEntry 9 }

        extremeQosRuleProtocol  OBJECT-TYPE
        SYNTAX          INTEGER { any(1), udp(2), tcp(3), other(4), 
                      tcpPermitEstablished(5), icmp(6) }
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The IP protocol number for which this rule applies. If this 
                object has any value other than 'any' then this rule
                takes precedence over any rule that specifies an individual
                physical input port, a VLAN or any incoming implicit 802.1p
                traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { any }
    ::= { extremeQosRuleEntry 10 }

        extremeQosRuleDestL4PortStart  OBJECT-TYPE
        SYNTAX          L4Port
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The destination starting layer 4 port number that would
                be used to match an IP flow. The value of 0 means that all
                layer 4 information would be ignored when matching an IP
                flow. If this object has any value other than 0 then this
                rule takes precedence over any rule that specifies an
                individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent.

        Any attempt to write an ICMP rule specifying an IP pattern
        with a non-default value for this object will be rejected by the
        agent."
                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 11 }

        extremeQosRuleSourceL4PortStart  OBJECT-TYPE
        SYNTAX          L4Port
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The source starting layer 4 port number that would be
                used to match an IP flow. The value of 0 means that all
                layer 4 information would be ignored when matching an IP
                flow. If this object has any value other than 0 then this
                rule takes precedence over any rule that specifies an
                individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent.

        NOTE: For an ICMP rule that specifies an IP pattern, this 
        object has a different meaning in that it specifies the ICMP Type
        and Code values, in the following manner: The value of the Type must
        be shifted to the left by 8 bits and logical ORed with the value of the 
        Code. The result will be stored in this object. In this case, this 
        object can only contain values between 0 and 65535 inclusive since the 
        ICMP Type and Code values are limited between 0 and 255 each."

                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 12 }

        extremeQosRuleTosMask  OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE (1))
        MAX-ACCESS     read-create
        STATUS          deprecated
        DESCRIPTION
        "A mask for the incoming IP Type-of-Service field to be applied
                when matching. The value of 0 means that any incoming IP ToS
                field is ignored.

                Only the default value is supported in ExtremeWare 6.0."
                DEFVAL { '00'h }
    ::= { extremeQosRuleEntry 13 }

        extremeQosRuleTosMatch  OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE (1))
        MAX-ACCESS     read-create
        STATUS          deprecated
        DESCRIPTION
        "If the value of the incoming IP Type-of-Service field, after 
                applying a mask of extremeQosRuleTosMask, is this value then
                this rule is applied. 

                Only the default value is supported in ExtremeWare 6.0."
                DEFVAL { '00'h }
    ::= { extremeQosRuleEntry 14 }

        extremeQosRuleQosProfileIndex  OBJECT-TYPE
        SYNTAX          INTEGER 
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "A pointer into the extremeQosProfileTable indicating the 
                QoS treatment and actions to be applied to traffic matching
                this rule. A value of 0 means that this traffic will be
                dropped/discarded. The default value is that this traffic
                gets the default QoS treatment and actions."
                DEFVAL { 1 }
    ::= { extremeQosRuleEntry 15 }

        extremeQosRuleOwner  OBJECT-TYPE
        SYNTAX          OwnerString(SIZE (0..32))
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
                    "Indicates the identity of the manager that 
            configured this entry."
    ::= { extremeQosRuleEntry 16 }

        extremeQosRuleRowStatus  OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
          "The row status for this QoS rule. 

          This OBJECT can be set to:

                active(1)
                createAndGo(4)
                createAndWait(5)
                destroy(6)

          The following values may be read:
                active(1)
                notReady(3). "
     ::= { extremeQosRuleEntry 17 }

        extremeQosRuleDestL4PortEnd  OBJECT-TYPE
        SYNTAX          L4Port
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The destination last layer 4 port number that would
                determine the l4 port range to match an IP flow. The value
                of 0 means that all layer 4 information would be ignored
                when matching an IP flow. If this object has any value other
                than 0 then this rule takes precedence over any rule that
                specifies an individual physical input port, a VLAN or any
                incoming implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent.

        Any attempt to write an ICMP rule specifying an IP pattern
        with a non-default value for this object will be rejected by the
        agent." 
                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 18 }

        extremeQosRuleSourceL4PortEnd  OBJECT-TYPE
        SYNTAX          L4Port
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The source last layer 4 port number that would determine
                the l4 port range to match an IP flow. The value of 0 means
                that all layer 4 information would be ignored when matching
                an IP flow. If this object has any value other than 0 then
                this rule takes precedence over any rule that specifies an
                individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent.

        Any attempt to write an ICMP rule specifying an IP pattern with
        a non-default value for this object will be rejected by the agent."
                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 19 }

        extremeQosRulePrecedence  OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The precedence used to select one rule over potentially 
                multiple rules that might match an L3/L4 flow. The rule
        with highest precedence  takes precedence over any rule
        that specifies a matching flow, individual physical input
        port, a VLAN or any incoming implicit 802.1p traffic class
        rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 20 }

        extremeQosRuleCounter  OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS     read-only
        STATUS          current
        DESCRIPTION
        " " 
                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 21 }

    extremeQosRuleName OBJECT-TYPE
        SYNTAX         DisplayString (SIZE (0..32))
                MAX-ACCESS     read-create
                STATUS        current
                DESCRIPTION
                "A unique Qos rule name. If this is not specified then the system 
        generates one automatically."
        ::= { extremeQosRuleEntry 22 }

-- ================================================================================
-- Treatment/Action/QoSProfile
-- ================================================================================
-- 
-- Several parameters are accessible, to a greater or lesser extent, for 
-- specifying the treatment received by traffic that is classified as matching
-- a static rule.
-- 
-- The following can be thought of as represented by a "per-hop behaviour" in 
-- IETF DiffServ terminology or by a "QoS Profile" in Extreme terminology:
--      - relative priority
--      - minimum guaranteed bandwidth
--      - maximum limit on bandwidth
--      - limit on peak bandwidth
--      - reserved buffer allocation
--      - maximum limit on buffer allocation
--      - filter/drop
-- 
-- In addition, the following actions can also be thought of as a part of the
-- treatment:
--      - trap to policy server
--      - outgoing IP TOS/mark/mask
--      - outgoing 802.1p mark
-- 
-- A set of parameters specify the scheduling characteristics of per-class 
-- queues and the marking of traffic that exits those queues. The term
-- "flowspec" is used loosely here although it has many of the characteristics
-- of an IntServ flowspec.
-- 
-- <treatment> ::= drop | <qos_profile>
--
-- <qos_profile> ::= <flowspec>, <action>
-- 
-- <flowspec> ::= <tokenBucket> | <absoluteBw> | <percentBw>, <buffers>, <priority>
-- <tokenBucket> ::= peakBW, sustBW, bucketSize
-- <absoluteBW> ::= minBW, maxPeakBW, maxSustBW
-- <percentBW> ::= minBWpercent, maxSustBWpercent, maxPeakBWpercent
-- <buffers> ::= maxQueueLength, minBufferAlloc
-- <priority> ::= relativePriority
-- 
-- <action> ::= <trap_to_server>, <mark_iptos>, <mark_8021p>
-- <trap_to_server> ::= TRUE | FALSE
-- <mark_iptos> ::= new_set_pattern, new_clear_pattern
-- <mark_8021p> ::= INTEGER 0..7 | unchanged
-- 
-- On any device using first-generation silicon, additional 
-- parameters are hard coded:
-- 
-- mark_iptos = 0,0   (i.e. IPTOS unchanged)
-- 
-- Note: for the ExtremeWare 4.0 release, some of the parameters are not 
-- exposed for modification through this interface: these are represented as
-- read-only - 6.0 behaviour is currently undefined. 
--
-- In particular, hard-coded values for the following are used in 4.0:
--    maxPeakBWpercent ::= line rate or 100%
--    maxQueueLength ::= infinite or something approaching total buffers in
--                       the device
--    minBufferAlloc ::= fixed at compile time <insert EW4.0 defaults>
--    mark_8021p ::= for packets entering untagged: 0, 2, 4 or 6 depending on
--                   queue number for packets entering tagged: unchanged.
--
-- 
-- Existing table:
--
-- extremeQosProfileTable INDEX { extremeQosProfileIndex} SEQUENCE OF
-- {
--      extremeQosProfileIndex            INTEGER ,
--      extremeQosProfileName            DisplayString,
--    extremeQosProfileMinBw            INTEGER (0..100),
--    extremeQosProfileMaxBw        INTEGER (0..100),
--    extremeQosProfilePriority    INTEGER {low, normal, medium, high}
--    extremeQosProfileRowStatus    RowStatus
-- }
--
-- Added the following "flowspec" columns to extremeQosProfileTable:
--
--        extremeQosProfileMinBwBps             INTEGER,
--        extremeQosProfileMaxSustBwBps         INTEGER,
--        extremeQosProfileMaxPeakBwBps         INTEGER,
--        extremeQosProfileBucketSizeOctets     INTEGER,
--        extremeQosProfileMaxPeakBwPercent     INTEGER (0..100),
--        extremeQosProfileMaxQueueLengthOctets INTEGER,
--        extremeQosProfileMinBufferAllocOctets INTEGER
--
-- Added the following "action" columns to extremeQosProfileTable:
-- 
--        extremeTrapToServer     TruthValue,     - send trap to policy server
--        extremeMarkIpTosSet     OCTET STRING (SIZE (1)),
--        extremeMarkIpTosClear   OCTET STRING (SIZE (1)),
--        extremeMark8021p        INTEGER (0..7) or unchanged(8)  - see above



-- ===========================================================================
--        Capabilities
-- ===========================================================================

        extremeQosCapabilitiesTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF ExtremeQosCapabilitiesEntry
        MAX-ACCESS  not-accessible
        STATUS  current
                DESCRIPTION
                "Table of per-port QoS policy capabilities. An entry only
                 exists in this table for ifTable entries representing
                 physical ports. On a modular system with mixed capability
                 silicon it is necessary to indicate the QoS capabilities to
                 a manager."
    ::= { extremeQosPolicy 3 }

        extremeQosCapabilitiesEntry OBJECT-TYPE
        SYNTAX  ExtremeQosCapabilitiesEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Entry in table of QoS policy capabilities for a given switch
                 port."
                AUGMENTS { ifEntry }
    ::= { extremeQosCapabilitiesTable 1 }

        ExtremeQosCapabilitiesEntry ::= SEQUENCE
        {
                extremeQosCapMarkIpTosCapable         TruthValue,
                extremeQosCapMatchIpTosCapable        TruthValue
        }

        extremeQosCapMarkIpTosCapable  OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS     read-only
        STATUS          current
        DESCRIPTION
        "This port is capable of supporting policies that involve
                the changing of IP TOS octet values."
    ::= { extremeQosCapabilitiesEntry 1 }

        extremeQosCapMatchIpTosCapable  OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS     read-only
        STATUS          current
        DESCRIPTION
        "This port is capable of supporting policies that involve
                packet classification based on matching of IP TOS octet 
                values."
    ::= { extremeQosCapabilitiesEntry 2 }

END

-- ################################################################################

EXTREME-POS-MIB DEFINITIONS ::= BEGIN

     IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
        OBJECT-TYPE     FROM SNMPv2-SMI
                Unsigned32    FROM SNMPv2-SMI
                TruthValue      FROM SNMPv2-TC
        DisplayString   FROM RFC1213-MIB
        IpAddress    FROM SNMPv2-SMI
                extremeAgent    FROM EXTREME-BASE-MIB
        PortList    FROM EXTREME-BASE-MIB;

        extremePOSMib MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme POS objects: objects common to POS MIBs"
        ::= { extremeAgent 20 }


    extremeAps OBJECT IDENTIFIER
        ::= { extremePOSMib 1 }

        extremeApsConfig OBJECT IDENTIFIER
        ::= { extremeAps 1 }

        extremeApsConfigEnabled                         OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "Global APS enablement"
        ::= { extremeApsConfig 1  }

--
-- APS Group Configuration Table
--

        extremeApsGroupConfigTable                      OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsGroupConfigEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains configuration information
                         by defined APS group."
                ::= { extremeApsConfig 2 }

        extremeApsGroupConfigEntry                      OBJECT-TYPE
                SYNTAX  ExtremeApsGroupConfigEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsGroupConfigGroupNumber}
                ::= {extremeApsGroupConfigTable 1}

        ExtremeApsGroupConfigEntry ::= SEQUENCE {
                extremeApsGroupConfigGroupNumber        INTEGER (1..65535),
                extremeApsGroupConfigRevertMode         INTEGER,
                extremeApsGroupConfigRevertMinutes      INTEGER (0..12),
                extremeApsGroupConfigDirection          INTEGER,
                extremeApsGroupConfigTimerInterval      INTEGER,
                extremeApsGroupConfigTimerMisses        INTEGER,
                extremeApsGroupConfigAuthenticate       TruthValue,
                extremeApsGroupConfigAuthString         DisplayString
        }

        extremeApsGroupConfigGroupNumber                OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies
                         the APS group."
                ::= { extremeApsGroupConfigEntry 1 }

        extremeApsGroupConfigRevertMode                 OBJECT-TYPE
                SYNTAX  INTEGER {
                                revertive (1),
                                nonRevertive (2)
                                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The revertive mode configured for the APS
                         group.  This indicates whether APS will
                         switch-back automatically after the working
                         line error is cleared.  In non-revertive
                         mode, manual intervention is required for
                         switch-back."
                ::= { extremeApsGroupConfigEntry 2 }

        extremeApsGroupConfigRevertMinutes              OBJECT-TYPE
                SYNTAX  INTEGER (0..12)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of minutes APS will wait after
                         the error has been cleared before switching
                         back to the working line.  During this
                         interval, the K1 request will indicate
                         WTR (wait-to-restore).  This field is only
                         valid in revertive mode."
                ::= { extremeApsGroupConfigEntry 3 }

        extremeApsGroupConfigDirection                  OBJECT-TYPE
                SYNTAX  INTEGER {
                                bidirectional (1),
                                unidirectional (2)
                                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The directional mode configured for the
                         APS group.  This indicates whether protection
                         switches are coordinated between both POS
                         equipment and ADM (bidirectional) or not
                         (unidirectional)."
                ::= { extremeApsGroupConfigEntry 4 }

        extremeApsGroupConfigTimerInterval              OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of seconds between APS out-of-band
                         peer protocol hello messages.  This value is
                         relevant when the working line and protection
                         line exist is physically different chassis."
                ::= { extremeApsGroupConfigEntry 5 }

        extremeApsGroupConfigTimerMisses                OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of APS out-of-band peer protocol
                         messages transmitted without receiving a
                         response before the protection switch declares
                         the working switch inoperable.  When this occurs
                         the protection switch initiates a line switch
                         over via APS."
                ::= { extremeApsGroupConfigEntry 6 }

        extremeApsGroupConfigAuthenticate               OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "When enabled, the authentication string on both
                         working and protection switches must match."
                ::= { extremeApsGroupConfigEntry 7 }

        extremeApsGroupConfigAuthString                 OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(0..8))
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "If configured, this is the authentication string
                         that must match between working and protection
                         switches.  This field is relevant if the APS group
                         is configured to authenticate."
                ::= { extremeApsGroupConfigEntry 8 }

--
-- APS Port Configuration Table
--

        extremeApsPortConfigTable                       OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsPortConfigEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains configuration information
                         for APS ports."
                ::= { extremeApsConfig 3 }

        extremeApsPortConfigEntry                       OBJECT-TYPE
                SYNTAX  ExtremeApsPortConfigEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsPortConfigGroupNumber,
                       extremeApsPortConfigPortNumber}
                ::= {extremeApsPortConfigTable 1}

        ExtremeApsPortConfigEntry ::= SEQUENCE {
                extremeApsPortConfigGroupNumber         INTEGER (1..65535),
                extremeApsPortConfigPortNumber          INTEGER,
                extremeApsPortConfigPortType            INTEGER
        }

        extremeApsPortConfigGroupNumber                 OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies
                         the APS group."
                ::= { extremeApsPortConfigEntry 1 }

        extremeApsPortConfigPortNumber                  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The value of ifIndex that identifies the port."
                ::= { extremeApsPortConfigEntry 2 }

        extremeApsPortConfigPortType                    OBJECT-TYPE
                SYNTAX  INTEGER {
                                working (1),
                                protection (2)
                                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The port type designation."
                ::= { extremeApsPortConfigEntry 3 }

--
-- APS Protection Port Additional Configuration Table
--

        extremeApsProtectPortConfigTable                OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsProtectPortConfigEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains configuration information
                         for APS protection ports."
                ::= { extremeApsConfig 4 }

        extremeApsProtectPortConfigEntry                OBJECT-TYPE
                SYNTAX  ExtremeApsProtectPortConfigEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsProtectPortConfigGroupNumber,
                       extremeApsProtectPortConfigPortNumber}
                ::= {extremeApsProtectPortConfigTable 1}

        ExtremeApsProtectPortConfigEntry ::= SEQUENCE {
                extremeApsProtectPortConfigGroupNumber   INTEGER (1..65535),
                extremeApsProtectPortConfigPortNumber    INTEGER,
                extremeApsProtectPortConfigWorkingIpAddr IpAddress
        }

        extremeApsProtectPortConfigGroupNumber          OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies
                         the APS group."
                ::= { extremeApsProtectPortConfigEntry 1 }

        extremeApsProtectPortConfigPortNumber           OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The value of ifIndex that identifies
                         the protection port."
                ::= { extremeApsProtectPortConfigEntry 2 }

        extremeApsProtectPortConfigWorkingIpAddr        OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The IP address of the working switch.  If the
                         working and protection lines reside on the same
                         chassis, this IP address will be a local address."
                ::= { extremeApsProtectPortConfigEntry 3 }

        extremeApsStatus OBJECT IDENTIFIER
        ::= { extremeAps 2 }

--
-- APS Group Status Table
--
        extremeApsGroupTable                            OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsGroupEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains run-time information
                         by defined APS group."
                ::= { extremeApsStatus 1 }

        extremeApsGroupEntry                            OBJECT-TYPE
                SYNTAX  ExtremeApsGroupEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsGroupGroupNumber}
                ::= {extremeApsGroupTable 1}

        ExtremeApsGroupEntry ::= SEQUENCE {
                extremeApsGroupGroupNumber              INTEGER (1..65535),
                extremeApsGroupActivePort               INTEGER,
                extremeApsGroupEffectiveDirection       INTEGER,
                extremeApsGroupPeerProtoStatus          INTEGER
        }

        extremeApsGroupGroupNumber                      OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies
                         the APS group."
                ::= { extremeApsGroupEntry 1 }

        extremeApsGroupActivePort                       OBJECT-TYPE
                SYNTAX  INTEGER {
                                working (1),
                                protection (2)
                                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The APS port which is currently carrying the
                         network traffic."
                ::= { extremeApsGroupEntry 2 }

        extremeApsGroupEffectiveDirection               OBJECT-TYPE
                SYNTAX  INTEGER {
                                bidirectional (1),
                                unidirectional (2)
                                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The effective directional mode for the APS
                         group.  When this value differs from the
                         configured directional mode, check the
                         ADM and switch provisioning for a mis-
                         configuration."
                ::= { extremeApsGroupEntry 3 }

        extremeApsGroupPeerProtoStatus                  OBJECT-TYPE
                SYNTAX  INTEGER {
                                established (1),
                                closed (2)
                                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The APS out-of-band peer protocol status
                         for a group."
                ::= { extremeApsGroupEntry 4 }

--
-- APS Protection Port Table
--

        extremeApsProtectPortTable                      OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsProtectPortEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains run-time information
                         by defined APS protection port."
                ::= { extremeApsStatus 2 }

        extremeApsProtectPortEntry                      OBJECT-TYPE
                SYNTAX  ExtremeApsProtectPortEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsProtectPortGroupNumber,
                       extremeApsProtectPortPortNumber}
                ::= {extremeApsProtectPortTable 1}

        ExtremeApsProtectPortEntry ::= SEQUENCE {
                extremeApsProtectPortGroupNumber         INTEGER (1..65535),
                extremeApsProtectPortPortNumber          INTEGER,
                extremeApsProtectPortTransmitK1          OCTET STRING,
                extremeApsProtectPortTransmitK2          OCTET STRING,
                extremeApsProtectPortReceiveK1           OCTET STRING,
                extremeApsProtectPortReceiveK2           OCTET STRING,
                extremeApsProtectPortSwitchInitByWorking INTEGER,
                extremeApsProtectPortSwitchInitByProtect INTEGER,
                extremeApsProtectPortSwitchInitByADM     INTEGER,
                extremeApsProtectPortSwitchInitByCmd     INTEGER,
                extremeApsProtectPortSuccessfulSwitches  INTEGER,
                extremeApsProtectPortHelloProtFails      INTEGER

        }

        extremeApsProtectPortGroupNumber                OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies
                         the APS group."
                ::= { extremeApsProtectPortEntry 1 }

        extremeApsProtectPortPortNumber                 OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The value of ifIndex that identifies
                          the protection port."
                ::= { extremeApsProtectPortEntry 2 }

        extremeApsProtectPortTransmitK1                 OBJECT-TYPE
                SYNTAX  OCTET STRING (SIZE(1))
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The K1 overhead byte currently being transmitted
                          on the indicated protection port."
                ::= { extremeApsProtectPortEntry 3 }

        extremeApsProtectPortTransmitK2                 OBJECT-TYPE
                SYNTAX  OCTET STRING (SIZE(1))
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The K2 overhead byte currently being transmitted
                          on the indicated protection port."
                ::= { extremeApsProtectPortEntry 4 }

        extremeApsProtectPortReceiveK1                  OBJECT-TYPE
                SYNTAX  OCTET STRING (SIZE(1))
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The K1 overhead byte currently being received
                          on the indicated protection port."
                ::= { extremeApsProtectPortEntry 5 }

        extremeApsProtectPortReceiveK2                  OBJECT-TYPE
                SYNTAX  OCTET STRING (SIZE(1))
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The K2 overhead byte currently being received
                          on the indicated protection port."
                ::= { extremeApsProtectPortEntry 6 }

        extremeApsProtectPortSwitchInitByWorking        OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The number of switches that have been
                          initiated by the working-line router."
                ::= { extremeApsProtectPortEntry 7 }

        extremeApsProtectPortSwitchInitByProtect        OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The number of switches that have been
                          initiated by the protection-line router."
                ::= { extremeApsProtectPortEntry 8 }

        extremeApsProtectPortSwitchInitByADM            OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The number of switches that have been
                          initiated by the ADM."
                ::= { extremeApsProtectPortEntry 9 }
        extremeApsProtectPortSwitchInitByCmd            OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The number of switches that have been
                          initiated by an external CLI command."
                ::= { extremeApsProtectPortEntry 10 }
        extremeApsProtectPortSuccessfulSwitches         OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The number of successful APS line switches."
                ::= { extremeApsProtectPortEntry 11 }
        extremeApsProtectPortHelloProtFails             OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The number of APS out-of-band peer protocol
                          failures recorded.  This situation causes
                          the protection-line router to initiate a
                          line switch."
                ::= { extremeApsProtectPortEntry 12 }

        extremeApsErrors OBJECT IDENTIFIER
        ::= { extremeAps 3 }

--
-- APS Line Errors Table
--

        extremeApsLineErrorTable                        OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsLineErrorEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains APS line error
                         information."
                ::= { extremeApsErrors 1 }

        extremeApsLineErrorEntry                        OBJECT-TYPE
                SYNTAX  ExtremeApsLineErrorEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsLineErrorGroupNumber,
                       extremeApsLineErrorPortNumber}
                ::= {extremeApsLineErrorTable 1}

        ExtremeApsLineErrorEntry ::= SEQUENCE {
                extremeApsLineErrorGroupNumber            INTEGER (1..65535),
                extremeApsLineErrorPortNumber             INTEGER,
                extremeApsLineErrorSignalDegradeActive    TruthValue,
                extremeApsLineErrorBERSignalDegradeActive TruthValue,
                extremeApsLineErrorSignalFailActive       TruthValue,
                extremeApsLineErrorBERSignalFailActive    TruthValue,
                extremeApsLineErrorSignalDegrades         INTEGER,
                extremeApsLineErrorBERSignalDegrades      INTEGER,
                extremeApsLineErrorSignalFails            INTEGER,
                extremeApsLineErrorBERSignalFails         INTEGER
        }

        extremeApsLineErrorGroupNumber                  OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies the
                         APS group."
                ::= { extremeApsLineErrorEntry 1 }

        extremeApsLineErrorPortNumber                   OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The ifIndex value which identifies the APS port."
                ::= { extremeApsLineErrorEntry 2 }

        extremeApsLineErrorSignalDegradeActive          OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a signal degrade condition
                         currently exists on the line."
                ::= { extremeApsLineErrorEntry 3 }

        extremeApsLineErrorBERSignalDegradeActive       OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a signal degrade condition
                         due to excessive Bit-Error-Rate currently exists
                         on the line."
                ::= { extremeApsLineErrorEntry 4 }

        extremeApsLineErrorSignalFailActive             OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a signal fail condition
                         currently exists on the line."
                ::= { extremeApsLineErrorEntry 5 }

        extremeApsLineErrorBERSignalFailActive          OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a signal fail condition
                         due to excessive Bit-Error-Rate currently
                         exists on the line."
                ::= { extremeApsLineErrorEntry 6 }

        extremeApsLineErrorSignalDegrades               OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of signal degrades that have
                         been recorded on the line."
                ::= { extremeApsLineErrorEntry 7 }

        extremeApsLineErrorBERSignalDegrades            OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of signal degrades due to excessive
                         Bit-Error-Rate that have been recorded on the
                         line."
                ::= { extremeApsLineErrorEntry 8 }

        extremeApsLineErrorSignalFails                  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of signal fails that have
                         been recorded on the line."
                ::= { extremeApsLineErrorEntry 9 }

        extremeApsLineErrorBERSignalFails               OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of signal fails due to excessive
                         Bit-Error-Rate that have been recorded on the
                         line."
                ::= { extremeApsLineErrorEntry 10 }

--
-- APS Protocol Errors Table
--

        extremeApsProtocolErrorTable                    OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsProtocolErrorEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains APS protocol error
                         information.  These errors are relevant
                         for APS protection ports."
                ::= { extremeApsErrors 2 }

        extremeApsProtocolErrorEntry                    OBJECT-TYPE
                SYNTAX  ExtremeApsProtocolErrorEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsProtocolErrorGroupNumber,
                       extremeApsProtocolErrorPortNumber}
                ::= {extremeApsProtocolErrorTable 1}

        ExtremeApsProtocolErrorEntry ::= SEQUENCE {
                extremeApsProtocolErrorGroupNumber             INTEGER (1..65535),
                extremeApsProtocolErrorPortNumber              INTEGER,
                extremeApsProtocolErrorModeMismatchDefect      TruthValue,
                extremeApsProtocolErrorProtSwitchByteDefect    TruthValue,
                extremeApsProtocolErrorChannelMismatchDefect   TruthValue,
                extremeApsProtocolErrorFarEndProtectDefect     TruthValue,
                extremeApsProtocolErrorModeMismatchFailure     TruthValue,
                extremeApsProtocolErrorProtSwitchByteFailure   TruthValue,
                extremeApsProtocolErrorChannelMismatchFailure  TruthValue,
                extremeApsProtocolErrorFarEndProtectFailure    TruthValue,
                extremeApsProtocolErrorModeMismatchNumFails    INTEGER,
                extremeApsProtocolErrorProtSwitchByteNumFails  INTEGER,
                extremeApsProtocolErrorChannelMismatchNumFails INTEGER,
                extremeApsProtocolErrorFarEndProtectNumFails   INTEGER
        }

        extremeApsProtocolErrorGroupNumber              OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies the
                         APS group."
                ::= { extremeApsProtocolErrorEntry 1 }

        extremeApsProtocolErrorPortNumber               OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The ifIndex value which identifies the APS
                         protection port."
                ::= { extremeApsProtocolErrorEntry 2 }

        extremeApsProtocolErrorModeMismatchDefect       OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Mode Mismatch defect currently
                         exists on the port."
                ::= { extremeApsProtocolErrorEntry 3 }

        extremeApsProtocolErrorProtSwitchByteDefect     OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Protection Switching Byte defect
                         currently exists on the port."
                ::= { extremeApsProtocolErrorEntry 4 }

        extremeApsProtocolErrorChannelMismatchDefect    OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Channel Mismatch defect currently
                         exists on the port."
                ::= { extremeApsProtocolErrorEntry 5 }

        extremeApsProtocolErrorFarEndProtectDefect      OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Far-End Protection defect currently
                         exists on the port."
                ::= { extremeApsProtocolErrorEntry 6 }

        extremeApsProtocolErrorModeMismatchFailure      OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Mode Mismatch failure currently
                         exists on the port."
                ::= { extremeApsProtocolErrorEntry 7 }

        extremeApsProtocolErrorProtSwitchByteFailure    OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Protection Switching Byte failure
                         currently exists on the port."
                ::= { extremeApsProtocolErrorEntry 8 }

        extremeApsProtocolErrorChannelMismatchFailure   OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Channel Mismatch failure currently
                         exists on the port."
                ::= { extremeApsProtocolErrorEntry 9 }

        extremeApsProtocolErrorFarEndProtectFailure     OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Far-End Protection failure currently
                         exists on the port."
                ::= { extremeApsProtocolErrorEntry 10 }

        extremeApsProtocolErrorModeMismatchNumFails     OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of Mode Mismatch failures that have
                         been recorded."
                ::= { extremeApsProtocolErrorEntry 11 }

        extremeApsProtocolErrorProtSwitchByteNumFails   OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of Protection Switching Byte failures
                         that have been recorded."
                ::= { extremeApsProtocolErrorEntry 12 }

        extremeApsProtocolErrorChannelMismatchNumFails  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of Channel Mismatch failures that have
                         been recorded."
                ::= { extremeApsProtocolErrorEntry 13 }

        extremeApsProtocolErrorFarEndProtectNumFails    OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of Far-End Protection failures that have
                         been recorded."
                ::= { extremeApsProtocolErrorEntry 14 }

END

-- ################################################################################

EXTREME-QOS-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
        OBJECT-TYPE     FROM SNMPv2-SMI
                TruthValue      FROM SNMPv2-TC
        DisplayString   FROM RFC1213-MIB
        RowStatus       FROM SNMPv2-TC
        ifIndex                 FROM RFC1213-MIB
        extremeVlanIfIndex    FROM EXTREME-VLAN-MIB
                extremeAgent            FROM EXTREME-BASE-MIB;

        extremeQos MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Quality-of-Service objects"
        ::= { extremeAgent 3 }

    extremeQosCommon    OBJECT IDENTIFIER ::= { extremeQos 1 }


    extremeUnitPaceMode OBJECT-TYPE
                   SYNTAX  INTEGER {
                        notApplicable(1),
                        normalEthernet(2),
                        lowLatency(3)
        }
                MAX-ACCESS    read-write
                STATUS deprecated
                DESCRIPTION
                "This object specifies whether the device currently
                recognises and gives priority treatment to the 
                forwarding of packets with the PACE(tm) bit set in 
                their MAC Source Address fields.
                
                PACE(tm) mode applies to the whole unit only and
                is only valid when device is in Ingress QoS mode
                as specified by extremeQosMode ingress(1). This
                object will report notApplicable(1) when in 
                egress(2) mode. Set operations with value
                notApplicable(1) will be rejected."
    ::= { extremeQosCommon 1 }                

--
-- Select QoS Mode
--
    extremeQosMode OBJECT-TYPE
        SYNTAX  INTEGER { ingress(1), egress(2) }
        MAX-ACCESS  read-write
        STATUS deprecated
        DESCRIPTION
                      "Indicates which QoS mode the device should
                       use. ingress(1) applies priority-based QoS based 
                       on the incoming packet's destination IP or MAC
                       address, 802.1p priority, PACE(tm), Source Port or
                       VLAN. egress(2) applies priority- and bandwidth-based
                       QoS based on destination IP or MAC address or VLAN.
                       See ExtremeWare documentation for further information."
    ::= { extremeQosCommon 4 }

--
-- Reset all QoS settings to defaults
--
    extremeQosUnconfigure OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-write
        STATUS deprecated
        DESCRIPTION
                      "Setting this to true will reset all QoS settings
                        in the device to factory defaults. Reads from this
                        value return an undefined value."
    ::= { extremeQosCommon 5 }


--
-- QoS Profile table
--

    extremeQosProfileTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeQosProfileEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists QoS profiles."
        ::= { extremeQosCommon 6 }

    extremeQosProfileEntry    OBJECT-TYPE
        SYNTAX    ExtremeQosProfileEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual QoS profile Entry."
        INDEX {extremeQosProfileIndex}
        ::= {extremeQosProfileTable 1}

    ExtremeQosProfileEntry ::= SEQUENCE {
                extremeQosProfileIndex          INTEGER,
                extremeQosProfileName           DisplayString,
                extremeQosProfileMinBw          INTEGER,
                extremeQosProfileMaxBw          INTEGER,
                extremeQosProfilePriority       INTEGER,
                extremeQosProfileRowStatus      RowStatus
        }

        extremeQosProfileIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS    read-create
                STATUS    current
                DESCRIPTION
                        "An index that uniquely identifies an entry in the
                        qos table."
                ::= { extremeQosProfileEntry 1}

        extremeQosProfileName OBJECT-TYPE
                SYNTAX    DisplayString (SIZE (0..127))
                MAX-ACCESS     read-create
                STATUS    current
                DESCRIPTION
                        "A unique qos profile name."
                ::= {extremeQosProfileEntry 2}

        extremeQosProfileMinBw  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                 "The minumum percentage of bandwidth that this queue requires.
                 The Switch is required to provide the minumum amount of 
                 bandwidth to the queue. The lowest possible value is 0%."
                DEFVAL { 0 }
                ::= {extremeQosProfileEntry 3 }

                
        extremeQosProfileMaxBw    OBJECT-TYPE
                SYNTAX    INTEGER
            MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                 "The maximum percentage of bandwidth that this queue is
                 permitted to use.

                 If a non-default value is set for this object then it negates
                 any previously set value of extremeQosProfileMaxSustBwBps. In 
                 In addition, a set operation that supplies non-default values
                 for both this object and for extremeQosProfileMaxSustBwBps
                 will be rejected by the agent. In other words, you may supply
                 either an absolute or a percent limit, not both."
                DEFVAL { 100 }
                ::= {extremeQosProfileEntry 4 }

        extremeQosProfilePriority OBJECT-TYPE
                SYNTAX  INTEGER {
                                low(1),
                                lowHi(2),
                                normal(3),
                                normalHi(4),
                                medium(5),
                                mediumHi(6),
                                high(7),
                                highHi(8)
                }
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The level of priority in which this queue will be
                        serviced by the Switch."
                ::= {extremeQosProfileEntry 5 }

        extremeQosProfileRowStatus OBJECT-TYPE
                SYNTAX    RowStatus
                MAX-ACCESS     read-create
                STATUS    current
                DESCRIPTION
                    "The status of the extremeQosProfile entry.
                    This object can be set to:
                                active(1)
                                createAndGo(4)
                                createAndWait(5)
                                destroy(6)

                    The following values may be read:
                                active(1)
                                notInService(2)
                                notReady(3).
                        
                    Setting this object to createAndGo(4) causes the agent
                    to attempt to create and commit the row based on 
                    the contents of the objects in the row.  If all necessary
                    information is present in the row and the values are
                    acceptible to the agent, the agent will change the 
                    status to active(1).  If any of the necessary objects  
                    are not available, the agent will reject the creation
                    request.        

                    Setting this object to createAndWait(5) causes a row
                    in this table to be created.  The agent sets the
                    status to notInService(2) if all of the information is
                    present in the row and the values are acceptable to the
                    agent; otherwise, the agent sets the status to notReady(3).

                    Setting this object to active(1) is only valid when
                    the current status is active(1) or notInService(2).  

                    When the state of the row transitions is set to active(1),
                    the agent creates the corresponding row in the ifTable..

                    Setting this object to destroy(6) will remove the
                    corresponding QoS Profile Entry.

                    In order for a set of this object to destroy(6) to succeed,
                    all dependencies on this row must have been removed.  These
                    will include any stacking dependencies in the ifStackTable
                    and any protocol specific tables dependencies."
        ::= { extremeQosProfileEntry 6 }

--
-- VLAN-based QoS Table
--
           extremeQosByVlanMappingTable    OBJECT-TYPE

        SYNTAX  SEQUENCE OF ExtremeQosByVlanMappingEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
          "Table to associate a Vlan with the QoS profile that the
           Vlan is using. Every Vlan is assigned a Qos Profile and
           hence there is an entry in this table corresponding to every
           entry in the extremeVlanIfTable."
        ::= { extremeQosCommon 7 }

    extremeQosByVlanMappingEntry    OBJECT-TYPE
        SYNTAX    ExtremeQosByVlanMappingEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
                        "The QoS associated with a particular Vlan."
        INDEX {extremeVlanIfIndex}
        ::= {extremeQosByVlanMappingTable 1}

    ExtremeQosByVlanMappingEntry ::= SEQUENCE {
            extremeQosByVlanMappingQosProfileIndex    INTEGER
    }

    extremeQosByVlanMappingQosProfileIndex OBJECT-TYPE
        SYNTAX    INTEGER (1..65535)
        MAX-ACCESS    read-write
        STATUS    current
        DESCRIPTION
            "Value of extremeQosProfileIndex that uniquely 
                    identifies a QoS Profile entry in extremeQosProfileTable.
                    This indicates the QoS to be given to traffic for this
                    Vlan in the absence of any other more specific 
                    configuration information for this traffic."
    ::= { extremeQosByVlanMappingEntry 1 }

--
-- Per Port QOS Table
--
    extremePerPortQosTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremePerPortQosEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Global Qos Profiles are defined in the
                extremeQosProfileTable. This table contains a list
                    of ports for which the definition of certain global
            Qos Profiles has been overridden. The new definition
                    of the Qos profile parameters is in this table."
        ::= { extremeQosCommon 8 }

    extremePerPortQosEntry    OBJECT-TYPE
        SYNTAX    ExtremePerPortQosEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual overridden QoS profile Entry."
        INDEX {ifIndex, extremePerPortQosIndex}
        ::= {extremePerPortQosTable 1}

    ExtremePerPortQosEntry ::= SEQUENCE {
                extremePerPortQosIndex          INTEGER,
                extremePerPortQosMinBw          INTEGER,
                extremePerPortQosMaxBw          INTEGER,
                extremePerPortQosPriority       INTEGER,
                extremePerPortQosRowStatus      RowStatus
        }

        extremePerPortQosIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS    read-create
                STATUS    current
                DESCRIPTION
                        "The value of this variable is the same as the value
            of extremeQosProfileIndex of the Qos Profile which
            is overridden (for the port specified by ifIndex) by 
            the definition in this table."
                ::= { extremePerPortQosEntry 1}

        extremePerPortQosMinBw  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                   "The minumum percentage of bandwidth that this queue on the
           specified port requires. The Switch is required to provide 
           the minumum amount of bandwidth to the queue. The lowest 
           possible value is 0%."
                DEFVAL { 0 }
                ::= {extremePerPortQosEntry 2 }

                
        extremePerPortQosMaxBw    OBJECT-TYPE
                SYNTAX    INTEGER
            MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                 "The maximum percentage of bandwidth that this queue on the
                 specified port is permitted to use."
                DEFVAL { 100 }
                ::= {extremePerPortQosEntry 3 }

        extremePerPortQosPriority OBJECT-TYPE
                SYNTAX  INTEGER {
                                low(1),
                                lowHi(2),
                                normal(3),
                                normalHi(4),
                                medium(5),
                                mediumHi(6),
                                high(7),
                                highHi(8)
                }
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                 "The level of priority in which this queue will be
                 serviced by the Switch."
                ::= {extremePerPortQosEntry 4 }

        extremePerPortQosRowStatus OBJECT-TYPE
                SYNTAX    RowStatus
                MAX-ACCESS     read-create
                STATUS    current
                DESCRIPTION
                 "The status of the extremePerPortQos entry.
         This object can be set to 
                    active(1)
            createAndGo(4)
                 The following value may be read:
                    active(1)
         Note that a destroy(6) is not supported. A row will only be
         deleted from this table when the Qos Profile indicated
         in that row is changed globally."

        ::= { extremePerPortQosEntry 5 }

        
--
-- QoS Ingress Priority
--
        extremeQosIngressPriorityTable  OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeQosIngressPriorityEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table lists QoS ingress priority settings."
                ::= { extremeQosCommon 9 }

        extremeQosIngressPriorityEntry  OBJECT-TYPE
                SYNTAX  ExtremeQosIngressPriorityEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual QoS ingress priority Entry."
                INDEX {extremeQosIngressPriorityIndex}
                ::= {extremeQosIngressPriorityTable 1}

        ExtremeQosIngressPriorityEntry ::= SEQUENCE {
                extremeQosIngressPriorityIndex          INTEGER,
                extremeQosIngressPriorityName           DisplayString,
                extremeQosIngressPriorityValue          INTEGER
        }

        extremeQosIngressPriorityIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "An index that uniquely identifies an entry in the
                        qos ingress priority table."
                ::= { extremeQosIngressPriorityEntry 1}

        extremeQosIngressPriorityName OBJECT-TYPE
                SYNTAX  DisplayString (SIZE (0..15))
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "A qos ingress priority name."
                ::= {extremeQosIngressPriorityEntry 2}
                
        extremeQosIngressPriorityValue OBJECT-TYPE
                SYNTAX  INTEGER (0..15)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The ingress Qos priority value."
                ::= { extremeQosIngressPriorityEntry 3}
                

--
-- IQoS Profile table
--

        extremeIQosProfileTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeIQosProfileEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table lists ingress QoS profiles."
                ::= { extremeQosCommon 10 }

        extremeIQosProfileEntry OBJECT-TYPE
                SYNTAX  ExtremeIQosProfileEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual ingress QoS profile Entry."
                INDEX {ifIndex ,
                       extremeIQosProfileIndex}
                ::= {extremeIQosProfileTable 1}

        ExtremeIQosProfileEntry ::= SEQUENCE {
--                extremeIQosProfilePort           INTEGER,
                extremeIQosProfileIndex          INTEGER,
                extremeIQosProfileName           DisplayString,
                extremeIQosProfileMinBwType      INTEGER,
                extremeIQosProfileMinBw          INTEGER,
                extremeIQosProfileMaxBwType      INTEGER,
                extremeIQosProfileMaxBw          INTEGER,
                extremeIQosProfileRED            INTEGER,
                extremeIQosProfileMaxBuf         INTEGER
        }

--        extremeIQosProfilePort OBJECT-TYPE
--                SYNTAX  INTEGER (1..65535)
--                MAX-ACCESS    read-only
--                STATUS        current
--                DESCRIPTION
--                        "An index that uniquely identifies a specific port
--                        for an ingress qos table."
--                ::= { extremeIQosProfileEntry 1}

        extremeIQosProfileIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "An index that uniquely identifies an entry in the
                        ingress Qos table."
                ::= { extremeIQosProfileEntry 1}
                
        extremeIQosProfileName OBJECT-TYPE
                SYNTAX  DisplayString (SIZE (0..127))
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "A unique ingress Qos profile name."
                ::= {extremeIQosProfileEntry 2}
                
        extremeIQosProfileMinBwType  OBJECT-TYPE
                SYNTAX  INTEGER {
                        percentage(1),
                        kbps(2),
                        mbps(3)
                }
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The type of the current minimum bandwith setting. A value
                   of 1 signifies that the minimum bandwith value is a percentage
                   of the configurable port bandwidth. A value of 2 or 3 signifies
                   a guaranteed minimum available bandwidth in Kbps or Mbps
                   respectively."
                ::= {extremeIQosProfileEntry 3 }

        extremeIQosProfileMinBw  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The guaranteed minimum bandwidth for this queue, expressed as either
                 a percentage or a specific bandwidth value, as specified by the value
                 of extremeIQosProfileMinBwType."
                DEFVAL { 0 }
                ::= {extremeIQosProfileEntry 4 }
                
        extremeIQosProfileMaxBwType  OBJECT-TYPE
                SYNTAX  INTEGER {
                        percentage(1),
                        kbps(2),
                        mbps(3)
                }
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The type of the current maximum bandwith setting. A value
                   of 1 signifies that the maximum bandwith value is a percentage
                   of the configurable port bandwidth. A value of 2 or 3 signifies
                   a maximum allowed bandwidth in Kbps or Mbps respectively."
                ::= {extremeIQosProfileEntry 5 }
                
        extremeIQosProfileMaxBw OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The maximum allowed input bandwidth for this queue, expressed as 
                 either a percentage or a specific bandwidth value, as specified by 
                 the value of extremeIQosProfileMaxBwType."
                DEFVAL { 0 }
                ::= {extremeIQosProfileEntry 6 }

        extremeIQosProfileRED OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The Random Early Drop threshold. When the input queue fill
                        ratio exceeds this percentage, frames start to drop randomly
                        with a linear increasing drop probability as the queue fill
                        count approaches the max queue size. A value of 100 indicates
                        that this feature is currently disabled."
                ::= {extremeIQosProfileEntry 7 }

        extremeIQosProfileMaxBuf OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                    "The percentage of the total ingress queue size to use. Lower values
                    can be used to reduce the max latency through this queue, but with
                    potentially greater loss with bursty traffic."
        ::= { extremeIQosProfileEntry 8 }
        

--
-- VLAN-based Ingress QoS Table
--
        extremeIQosByVlanMappingTable   OBJECT-TYPE

                SYNTAX  SEQUENCE OF ExtremeIQosByVlanMappingEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                  "Table to associate a Vlan with the ingress QoS profile 
                  that the Vlan is using. Every Vlan is assigned a Qos Profile 
                  and hence there is an entry in this table corresponding to
                  every entry in the extremeVlanIfTable."
                ::= { extremeQosCommon 11 }

        extremeIQosByVlanMappingEntry   OBJECT-TYPE
                SYNTAX  ExtremeIQosByVlanMappingEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The ingress QoS associated with a particular Vlan."
                INDEX {extremeVlanIfIndex}
                ::= {extremeIQosByVlanMappingTable 1}

        ExtremeIQosByVlanMappingEntry ::= SEQUENCE {
                extremeIQosByVlanMappingIQosProfileIndex        INTEGER
        }

        extremeIQosByVlanMappingIQosProfileIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                    "Value of extremeIQosProfileIndex that uniquely 
                    identifies an ingress QoS Profile entry in extremeIQosProfileTable.
                    This indicates the QoS to be given to traffic for this
                    Vlan in the absence of any other more specific 
                    configuration information for this traffic."
        ::= { extremeIQosByVlanMappingEntry 1 }



END

-- ################################################################################

EXTREME-POE-MIB DEFINITIONS ::= BEGIN
        IMPORTS 
        MODULE-IDENTITY         FROM SNMPv2-SMI
        OBJECT-TYPE             FROM SNMPv2-SMI
        NOTIFICATION-TYPE       FROM SNMPv2-SMI
        Integer32               FROM SNMPv2-SMI
        Gauge32                 FROM SNMPv2-SMI
        Counter32               FROM SNMPv2-SMI
        TruthValue              FROM SNMPv2-TC
        extremeAgent            FROM EXTREME-BASE-MIB
        extremeV2Traps          FROM EXTREME-BASE-MIB
        pethMainPseGroupIndex,
        pethPsePortGroupIndex,
        pethPsePortIndex                FROM POWER-ETHERNET-MIB;


        extremePoE MODULE-IDENTITY
                      LAST-UPDATED "0007240000Z"
                      ORGANIZATION "Extreme Networks, Inc."
                      CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Power over Ethernet MIB objects"
        ::= { extremeAgent 27 }

        extremePethMain   OBJECT IDENTIFIER ::= {extremePoE 1}
        extremePethPort   OBJECT IDENTIFIER ::= {extremePoE 2}
--        powerEthernetMIB  OBJECT IDENTIFIER ::= {extremePoE 3}
        extremePethSystem OBJECT IDENTIFIER ::= {extremePoE 4}
--        extremePethTraps  OBJECT IDENTIFIER ::= {extremeV2Traps 12}


-- extremePethSystem
extremePethSystemAdminEnable OBJECT-TYPE
          SYNTAX INTEGER   {
                  enable(1),
                  disable(2)
          }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
                  "Controls whether inline power is provided by the system."
          DEFVAL                { enable }
          ::= { extremePethSystem 1 }

extremePethSystemDisconnectPrecedence OBJECT-TYPE
          SYNTAX INTEGER   {
                  lowest-priority(1),
                  deny-port(2)
          }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
                 "Controls the disconnect function of power management.
                  When the power drain exceeds the available power budget,
                  due to a rise in power consumption after power is allocated
                  to the ports, the PoE controller disconnects one of the ports
                  to prevent overload on the power supply. There are two controls:
                  Lowest-priority: next port connected causes a shutdown of the 
                                   lowest priority port.
                  Deny-port:       next port is denied power, regardless of priority."
          DEFVAL                { deny-port }
         ::= { extremePethSystem 2 }

extremePethSystemUsageThreshold OBJECT-TYPE
          SYNTAX      Integer32  (1..99)
          UNITS      "%"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
                  "The usage threshold expressed in percents for
                   comparing the measured power and initiating
                   an alarm if the threshold is exceeded."
         ::= { extremePethSystem 3 }

extremePethSystemPowerSupplyMode OBJECT-TYPE
          SYNTAX INTEGER   {
                  redundant(1),
                  loadSharing(2),
                  notApplicable(3)
          }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
                  "Controls whether the power supply operate in
                   redundant or load-sharing mode. Systems which do not
                   provide redundant or load-sharing operations will return
                   an error on setting, and notApplicable on read."
         ::= { extremePethSystem 4 }

extremePethSystemLegacyEnable OBJECT-TYPE
          SYNTAX INTEGER   {
                  enable(1),
                  disable(2)
          }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
                  "Controls whether legacy is supported by the system.  This is only supported on 
                   S300-24 stackables currently."
          DEFVAL                { disable }
          ::= { extremePethSystem 5 }

-- Per Slot Table
extremePethPseSlotTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF ExtremePethPseSlotEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
              "A table of objects that provides power management capabilities per slot."
          ::= { extremePethMain 2 }

extremePethPseSlotEntry OBJECT-TYPE
          SYNTAX      ExtremePethPseSlotEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
              "A set of objects that display and control the power characteristics of a slot."
          INDEX    { extremePethSlotNumber }
          ::= { extremePethPseSlotTable 1 }

ExtremePethPseSlotEntry ::= SEQUENCE {
        extremePethSlotNumber                   Integer32,
        extremePethSlotPowerLimit               Integer32,
        extremePethSlotConsumptionPower         Gauge32,
        extremePethSlotClearConnectHistory      INTEGER,
        extremePethSlotReservedConsumptionPower Gauge32,
        extremePethSlotCommonConsumptionPower   Gauge32,
        extremePethSlotAdminEnable              INTEGER,
        extremePethSlotPoeStatus                INTEGER,
        extremePethSlotPoeResetSystem           INTEGER,
        extremePethSlotMaxAvailPower            Gauge32,
        extremePethSlotMaxCapacity              Gauge32,
        extremePethSlotBackupPSU                INTEGER,
        extremePethSlotPSUActive                INTEGER,
        extremePethSlotMeasuredPower            Gauge32,
        extremePethSlotMainPseIndex             Integer32
}

extremePethSlotNumber  OBJECT-TYPE
          SYNTAX                Integer32
          MAX-ACCESS            not-accessible
          STATUS                current
          DESCRIPTION
                  "Slot number. This is the same as the Group Index"
          ::= { extremePethPseSlotEntry 1 }

extremePethSlotPowerLimit  OBJECT-TYPE
          SYNTAX                Integer32
          UNITS                 "watts"
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
                  "The configured maximum amount of inline power available to
                  slot. The operational power available to the slot is based
                  upon other operational and configuration parameters, such as
                  the power-supply mode and status. This number is provided by
                  the object extremePethSlotMaxAvailPower.  extremePethSlotPowerLimit 
                  may be greater than extremePethSlotMaxAvailPower, however, cannot 
                  exceed the maximum slot capacity, provided by extremePethSlotMaxCapacity"
          ::= { extremePethPseSlotEntry 2 }

extremePethSlotConsumptionPower  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "watts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The amount of power allocated to PoE devices on the slot expressed in Watts.
                   The amount of power allocated to a PoE device is based upon the PoE device 
                   class and/or the port's extremePethPortViolationPrecedence setting. For
                   example, in the default configuration of extremePethPortViolationPrecedence 
                   set to maxAdvertisedOperator(3), and the extremePethPortOperatorLimit set to 
                   15400, a PoE device is allocated 15.4 watts."
          ::= { extremePethPseSlotEntry 3 }

extremePethSlotClearConnectHistory  OBJECT-TYPE
          SYNTAX                INTEGER { set(1),
                                          clear(2)
                                        }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
           "Clears the port connection history of the specified slot.
            Reading the value always reurns clear(2)."
          ::= { extremePethPseSlotEntry 4 }

extremePethSlotReservedConsumptionPower  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "Milliwatts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The amount of reserved power consumed on the slot expressed in Milliwatts."
          ::= { extremePethPseSlotEntry 5 }

extremePethSlotCommonConsumptionPower  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "Milliwatts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The amount of common power allocated on the slot expressed in Milliwatts.
                   This value is computed by the formula:
                   extremePethSlotConsumptionPower - extremePethSlotReservedConsumptionPower."
          ::= { extremePethPseSlotEntry 6 }

extremePethSlotAdminEnable OBJECT-TYPE
          SYNTAX INTEGER   {
                  enable(1),
                  disable(2)
          }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION           "Controls whether inline power is provided by the slot."
          DEFVAL                { enable }
          ::= { extremePethPseSlotEntry 7 }

extremePethSlotPoeStatus OBJECT-TYPE
          SYNTAX INTEGER   {
                  initializing(1),
                  operational(2),
                  downloadFail(3),
                  calibrationRequired(4),
                  invalidFirmware(5),
                  mismatchVersion(6),
                  updating(7),
                  invalidDevice(8),
                  notOperational(9),
                  other(10)
          }
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION           
              "Describes the status of the PoE system on the slot.
              initializing - PoE controller is under initialization,
              operational - PoE controller is operational and is ready or
                            providing power,
              downloadFail - PoE controller required update and the update
                             failed, PoE reset is required to re-update,
              calibrationRequired - PoE contoller is operational, however
                                    calibration is required to provide power,
              invalidFirmware - PoE controller contains invalid firmware,
              mismatchVersion - PoE controller update completed, however
                                version mismatches expected, reboot,
              updating        - PoE controller is being updated,
              invalidDevice   - PoE controller detected an invalid/bad PoE
                                device.
              notOperational  - PoE controller is not yet operational
              other           - PoE controller is in undefined stats."
          ::= { extremePethPseSlotEntry 8 }

extremePethSlotPoeResetSystem OBJECT-TYPE
          SYNTAX                INTEGER { set(1), clear(2) }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
                "Resets the PoE system on the slot. Reading returns clear(2)"
          ::= { extremePethPseSlotEntry 9 }

extremePethSlotMaxAvailPower  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "watts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The maximum power available to the slot expressed in Watts.
                   The value depends on various configuration parameters and
                   power-supply modes and status."
          ::= { extremePethPseSlotEntry 10 }

extremePethSlotMaxCapacity  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "watts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The maximum capacity of the slot expressed in Watts. This
                   provides the hardware limitation of the slot. Actual
                   amount of power is dependant on system status. The
                   object extremePethSlotPowerLimit must not be greater than
                   this amount."
          ::= { extremePethPseSlotEntry 11 }

extremePethSlotBackupPSU OBJECT-TYPE
          SYNTAX INTEGER   {
                  none(1),
                  internal(2),
                  external(3),
                  notApplicable(4)                  
          }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION           "Controls the backup power supply for inline power for the slot.
                                 A system which does not allow the backup PSU to be
                                 configured will return an error upon setting."
          ::= { extremePethPseSlotEntry 12 }

extremePethSlotPSUActive OBJECT-TYPE
          SYNTAX INTEGER   {
                  none(1),
                  internal(2),
                  external(3)
          }
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION           "Inline Power supply status indication for the slot. Indicates which PSU
                                 is currently active.  In the case of a failover a none indication can
                                 occur until one of the PSU has finished powering up."
          ::= { extremePethPseSlotEntry 13 }

extremePethSlotMeasuredPower  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "milliwatts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The measured amount of power for all PoE device on the
                   slot."
          ::= { extremePethPseSlotEntry 14 }

extremePethSlotMainPseIndex   OBJECT-TYPE
          SYNTAX                Integer32
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The index into the PethMainPseTable. Provides the
                   mapping of the slot identifier to pethMainPseGroupIndex."
          ::= { extremePethPseSlotEntry 15 }
        
extremePethPsePortTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF ExtremePethPsePortEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
              "A table of objects that extends the standard pethPsePortTable."
          ::= { extremePethPort 1 }

extremePethPsePortEntry OBJECT-TYPE
          SYNTAX      ExtremePethPsePortEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
            "A set of objects that display and control the power characteristics 
             of a powerEthernet PSE port. This table extends the standard pethPsePortTable."
          INDEX    { pethPsePortGroupIndex, pethPsePortIndex }
          ::= { extremePethPsePortTable 1 }

ExtremePethPsePortEntry ::= SEQUENCE {
        extremePethPortOperatorLimit        Integer32,
        extremePethPortReservedBudget       Integer32,
        extremePethPortViolationPrecedence  INTEGER,
        extremePethPortClearFault           INTEGER,
        extremePethPortResetPower           INTEGER,
        extremePethPortMeasuredPower        Gauge32
}

extremePethPortOperatorLimit  OBJECT-TYPE
          SYNTAX Integer32 (3000..20000)  
          UNITS                 "Milliwatts"
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
             "Controls individual port maximum power level."
          DEFVAL                { 15400 }
          ::= { extremePethPsePortEntry 1 }

extremePethPortReservedBudget  OBJECT-TYPE
          SYNTAX Integer32 (0..20000)  
          UNITS                 "Milliwatts"
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
             "Controls individual port maximum power level. Value is 0 or 
              in the range of 3000..20000"
          DEFVAL                { 0 }
          ::= { extremePethPsePortEntry  2 }

extremePethPortViolationPrecedence OBJECT-TYPE
          SYNTAX       INTEGER  {
                                advertisedClass(1),
                                operatorLimit(2),
                                maxAdvertisedOperator(3),
                                none(4)
                                }  
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
                "Sets the violation precedence for the specified ports. A value of 
                 advertised-class will remove/deny power in the case an 802.3af compliant 
                 PD consumes power beyond its advertised class limit. A value of 
                 operator-limit will remove/deny power should the PD consume power 
                 beyond the configured operator-limit. A value of max-class-operator will 
                 remove/deny power if the PD consumes power beyond the maximum of the 
                 detected class limit and the operator-limit. A value of none will 
                 remove/deny power in case the PD device exceeds the maximum allowable 
                 wattage according to regulatory maximum of 20 W. Default is 
                 max-class-operator which allows operation of both 802.3af compliant and 
                 legacy PDs."
          ::= { extremePethPsePortEntry  3 }

extremePethPortClearFault OBJECT-TYPE
          SYNTAX                     INTEGER { set(1), clear(2) }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
                "Clears the fault condition. Reading always returns clear(2)."
          ::= { extremePethPsePortEntry 4 }

extremePethPortResetPower OBJECT-TYPE
          SYNTAX                     INTEGER { set(1), clear(2) }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
                "Resets the power on the port. Reading always returns clear(2)"
          ::= { extremePethPsePortEntry 5 }

extremePethPortMeasuredPower  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "Milliwatts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The amount of power consumed on the port expressed in Milliwatts."
          ::= { extremePethPsePortEntry 6 }

END

-- ################################################################################

EXTREME-V2TRAP-MIB DEFINITIONS ::= BEGIN

    IMPORTS 
    MODULE-IDENTITY         FROM SNMPv2-SMI     
    sysDescr,sysUpTime, ifDescr    FROM RFC1213-MIB
    extremeCurrentTemperature      FROM EXTREME-SYSTEM-MIB
    Integer32                      FROM SNMPv2-SMI
    ClientAuthType, extremenetworks                 FROM EXTREME-BASE-MIB
    sysDescr,
    sysUpTime,
    ifDescr,
    ifIndex,
    DisplayString                          FROM RFC1213-MIB
    extremeCpuTaskUtilPair,
    extremeCpuAggregateUtilization,
    extremeCpuUtilRisingThreshold,
    extremeFanNumber,
    extremePowerSupplyNumber,
    extremeHealthCheckErrorType,
    extremeSlotNumber,     
    extremeHealthCheckAction,
    extremeHealthCheckMaxRetries,    
    extremeMasterMSMSlot,
    extremeMsmFailoverCause,                
    extremeSlotModuleInsertedType,
    extremeSlotModuleState,
    extremeSlotModuleConfiguredType
                                           FROM EXTREME-SYSTEM-MIB
    extremeNPModuleProcessorState          FROM EXTREME-NP-MIB
--PSIM(BEGIN)
    EapsRingPort                           FROM EXTREME-EAPS-MIB
--PSIM(END)
    extremeEsrpGroup,
    extremeEsrpState                       FROM EXTREME-ESRP-MIB
    extremeVlanIfIndex,
    extremeVlanIfDescr                     FROM EXTREME-VLAN-MIB
    ifAlias                                FROM IF-MIB
    extremeIQosProfileIndex                FROM EXTREME-QOS-MIB
    bgpPeerRemoteAddr                      FROM BGP4-MIB
    extremeEapsName,
    extremeEapsMode,
    extremeEapsState,
    extremeEapsPrevState,
    extremeEapsFailedFlag,
    extremeEapsPrimaryStatus,
    extremeEapsSecondaryStatus,
    extremeEapsLastStatusChange,
    extremeEapsStatusTrapCount,
    extremeEapsLastConfigurationChange,
    extremeEapsSharedPortIfIndex,
    extremeEapsSharedPortLinkId,
    extremeEapsSharedPortState,
    extremeEapsSharedPortNbrStatus,
    extremeEapsSharedPortRootBlockerStatus,
    extremeEapsSharedPortRootBlockerId     FROM EXTREME-EAPS-MIB
    extremePethSlotPSUActive,
    extremePethSlotMainPseIndex            FROM EXTREME-POE-MIB
        NOTIFICATION-TYPE,
    OBJECT-TYPE,
    IpAddress                              FROM SNMPv2-SMI
    MacAddress,
    TimeStamp                              FROM SNMPv2-TC
    bgpM2PeerRemoteAddr,
    bgpM2PeerRemoteAddrType,
    bgpM2PeerLocalAddr,
    bgpM2PeerLocalAddrType                 FROM BGP4-V2-MIB
    extremeEdpPortIfIndex,           
    extremeEdpNeighborId,
    extremeEdpEntryAge                     FROM EXTREME-EDP-MIB
    extremeVlanIfDescr                  FROM EXTREME-VLAN-MIB
    extremeLacpGroup,
    extremeLacpMemberPort               FROM EXTREME-LACP-MIB;

    extremeV2Traps MODULE-IDENTITY
            LAST-UPDATED "200503220000Z"
            ORGANIZATION "Extreme Networks, Inc."
            CONTACT-INFO "www.extremenetworks.com"
            DESCRIPTION "Extreme V2c traps"
        ::= { extremenetworks 4 }

    extremeV1Traps     OBJECT IDENTIFIER
        ::= { extremenetworks 0 }

    extremeCoreSCTraps     OBJECT IDENTIFIER
    ::= { extremeV2Traps 1 }

    extremeCoreSCTrapPrefix    OBJECT IDENTIFIER
    ::= { extremeCoreSCTraps 0 }

    extremeHealthCheckFailed NOTIFICATION-TYPE
                OBJECTS {    
                   sysDescr, 
                  extremeSlotNumber, 
             extremeHealthCheckErrorType,
             extremeHealthCheckAction, 
             extremeHealthCheckMaxRetries
                    }
            STATUS current
                DESCRIPTION
                "Cpu HealthCheck has failed."
                ::= { extremeCoreSCTrapPrefix 1 }

-- Aggregate CPU utilization Trap definition
--
    extremeCpuUtilizationRisingTrap NOTIFICATION-TYPE
            OBJECTS   { extremeCpuTaskUtilPair,
                          extremeCpuAggregateUtilization,
                          extremeCpuUtilRisingThreshold}
            STATUS    current
            DESCRIPTION "CPU Utilizations Rising trap generated when
                        extremeCpuUtilRisingThreshold is touched/crossed "
            ::= { extremeCoreSCTrapPrefix 2 }

    extremeCpuUtilizationFallingTrap NOTIFICATION-TYPE
            OBJECTS   { extremeCpuTaskUtilPair,
                          extremeCpuAggregateUtilization,
                          extremeCpuUtilRisingThreshold}
            STATUS    current
            DESCRIPTION "CPU Utilization Falling Trap is generated when the
                    extremeCpuAggregateUtilization falls below 80% of the
                    extremeCpuUtilRisingThreshold"
            ::= { extremeCoreSCTrapPrefix 3 }

    extremeProcessorStateChangeTrap NOTIFICATION-TYPE
            OBJECTS {sysDescr,               
                     extremeSlotNumber,
                     extremeNPModuleProcessorState}
            STATUS      current
            DESCRIPTION
            "Failed processor on module has been detected."
            ::= { extremeCoreSCTrapPrefix 4 }

    extremeMsmFailoverTrap NOTIFICATION-TYPE
            OBJECTS {sysDescr,
                     extremeMasterMSMSlot,
                     extremeMsmFailoverCause}
            STATUS      current
            DESCRIPTION
            "MSM failover occurred."
        ::= { extremeCoreSCTrapPrefix 5 }


    extremeEsrpTimedOutFailedOverMaster NOTIFICATION-TYPE
            OBJECTS {sysDescr, 
                     extremeVlanIfIndex,
                     extremeVlanIfDescr,                     
                     extremeEsrpState}
            STATUS      current
            DESCRIPTION
            "The master node performed a hitless MSM failover, but the 
            master failed to resume normal operation within the reelect timeout.
            Thus, a new master (this switch) was elected." 
        ::= { extremeCoreSCTrapPrefix 6 }


-- Triumph support
--        

--PSIM(BEGIN)
      extremeRateLimitExceededTrapVar OBJECT IDENTIFIER ::= { extremeCoreSCTrapPrefix 7 }
--PSIM(END)

      extremeRateLimitExceededTrap NOTIFICATION-TYPE
            OBJECTS {extremeRateLimitExceededTrapType,
                     extremeRateLimitExceededTrapIndicator,
                     ifIndex ,
                     extremeIQosProfileIndex,
                     extremeExceededByteCount}
            STATUS      current
            DESCRIPTION
            "Committed Information Rate exceeded."
        ::= { extremeCoreSCTrapPrefix 7 }
        
      extremeRateLimitExceededTrapType OBJECT-TYPE
                SYNTAX INTEGER {
                        exceededCIR(1),
                        droppedBytes(2)
                        }
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                "The trap condition being reported."
--PSIM(Modif)             ::= { extremeRateLimitExceededTrap 1 }
            ::= { extremeRateLimitExceededTrapVar 1 }
            
      extremeRateLimitExceededTrapIndicator OBJECT-TYPE
                SYNTAX INTEGER {
                        clear(0),
                        set(1)
                        }
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                "The trap condition being reported."
--PSIM(Modif)             ::= { extremeRateLimitExceededTrap 2 }
            ::= { extremeRateLimitExceededTrapVar 2 }
            
      extremeExceededByteCount OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                "The number of bytes that exceeded the rate."
--PSIM(Modif)             ::= { extremeRateLimitExceededTrap 4 }
            ::= { extremeRateLimitExceededTrapVar 4 }

-- end Triumph support
--

    extremeBgpTraps     OBJECT IDENTIFIER
        ::= { extremeV2Traps 2 }

    extremeBgpTrapsPrefix     OBJECT IDENTIFIER
          ::= { extremeBgpTraps 0 }

        extremeBgpPrefixReachedThreshold NOTIFICATION-TYPE
            OBJECTS { bgpPeerRemoteAddr}
            STATUS  current
            DESCRIPTION
                    "The extremeBgpPrefixReachedThreshold notification is generated
                     when the number of prefixes received over this 
                     peer session reaches the threshold limit."
                ::= { extremeBgpTrapsPrefix 1 }

        extremeBgpPrefixMaxExceeded NOTIFICATION-TYPE
            OBJECTS { bgpPeerRemoteAddr}
            STATUS  current
            DESCRIPTION
                    "The extremeBgpPrefixMaxExceeded notification is generated
                     when the number of prefixes received over this 
                     peer session reaches the maximum configured limit."
                ::= { extremeBgpTrapsPrefix 2 }

    extremeSecurityTraps     OBJECT IDENTIFIER
        ::= { extremeV2Traps 3 }

    extremeSecurityTrapsPrefix     OBJECT IDENTIFIER
          ::= { extremeSecurityTraps 0 }


        extremeMacLimitExceeded NOTIFICATION-TYPE
                            OBJECTS { extremeMacSecurityVlanIfIndex,
                                      extremeMacSecurityVlanDescr, 
                                      extremeMacSecurityMacAddress,
                                      extremeMacSecurityPortIfIndex,
                                      extremeMacSecurityVlanId }
            STATUS      current
        DESCRIPTION
                "This trap will be generated, for a port on which limit-learning has been
                 configured,  when a new MAC address exceeding the limit is learnt on that
                 port."
            ::= { extremeSecurityTrapsPrefix 1 }

        extremeUnauthorizedPortForMacDetected NOTIFICATION-TYPE
                   OBJECTS { extremeMacSecurityVlanIfIndex, 
                             extremeMacSecurityVlanDescr, 
                             extremeMacSecurityVlanId,
                             extremeMacSecurityMacAddress, 
                             extremeMacSecurityPortIfIndex }
                             
            STATUS      current
        DESCRIPTION
            "This trap will be generated when a MAC Address is learnt on a port on which 
                    it is not not authorized. This will happen when the MAC address is statically 
                    configured  as a 'secure mac' on some other port(s)."
            ::= { extremeSecurityTrapsPrefix 2 }

        extremeMacDetectedOnLockedPort NOTIFICATION-TYPE
                   OBJECTS { extremeMacSecurityVlanIfIndex, 
                             extremeMacSecurityVlanDescr, 
                             extremeMacSecurityVlanId,
                             extremeMacSecurityMacAddress, 
                             extremeMacSecurityPortIfIndex }
                             
            STATUS      current
        DESCRIPTION
            "This trap will be generated on a port for which lock-learning has been 
            configured, when a new MAC address is learnt on that port."
            ::= { extremeSecurityTrapsPrefix 3 }

                
                extremeMacSecurityVlanIfIndex OBJECT-TYPE
            SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                "The ifIndex of the VLAN on which the MAC address was received."
            ::= { extremeSecurityTraps 1 }

                extremeMacSecurityVlanDescr OBJECT-TYPE
                 SYNTAX DisplayString (SIZE(0..32))
                 MAX-ACCESS accessible-for-notify
                 STATUS current
                 DESCRIPTION
                     "The description(name) of the VLAN on which the MAC address was received."
            ::= { extremeSecurityTraps 2 }

                extremeMacSecurityMacAddress  OBJECT-TYPE
                 SYNTAX MacAddress
                 MAX-ACCESS accessible-for-notify
                 STATUS current
                 DESCRIPTION
                     "The received MAC address."
            ::= { extremeSecurityTraps 3 }

                extremeMacSecurityPortIfIndex  OBJECT-TYPE
         SYNTAX Integer32 
                 MAX-ACCESS accessible-for-notify
                 STATUS current
                 DESCRIPTION
                     "The ifIndex of the port on which the MAC address was received."
            ::= { extremeSecurityTraps 4 }

                extremeMacSecurityVlanId  OBJECT-TYPE
         SYNTAX Integer32
                 MAX-ACCESS accessible-for-notify
                 STATUS current
                 DESCRIPTION
                     "The VLAN ID of the VLAN on which the MAC address was received."
            ::= { extremeSecurityTraps 5 }
                
                
            extremeNetloginUserLogin NOTIFICATION-TYPE
            OBJECTS {     extremeNetloginStationMac,
                        extremeNetloginStationAddr,
                        extremeNetloginPortIfIndex,
                        extremeNetloginAuthType,
                        extremeNetloginSystemTime,
                        extremeNetloginUser, 
                        extremeNetloginSrcVlan,
                        extremeNetloginDestVlan,
                        extremeNetloginSessionStatus
                    }
            STATUS      current
            DESCRIPTION
            "This trap will be generated when a netlogin supplicant passes 
            authentication and logs in successfully into the network."
            ::= { extremeSecurityTrapsPrefix 4}



            extremeNetloginUserLogout NOTIFICATION-TYPE
            OBJECTS {     extremeNetloginStationMac,
                        extremeNetloginStationAddr,
                        extremeNetloginPortIfIndex,
                        extremeNetloginAuthType,
                        extremeNetloginSystemTime,
                        extremeNetloginUser, 
                        extremeNetloginSrcVlan,
                        extremeNetloginDestVlan,
                        extremeNetloginSessionStatus
                    }
            STATUS      current
            DESCRIPTION
            "This trap will be generated when a netlogin supplicant logs out. 
            This trap is meant to notify logout event only for already 
            authenticated and logged in supplicant. "
            ::= { extremeSecurityTrapsPrefix 5}


            extremeNetloginAuthFailure NOTIFICATION-TYPE
            OBJECTS {     extremeNetloginStationMac,
                        extremeNetloginStationAddr,
                        extremeNetloginPortIfIndex,
                        extremeNetloginAuthType,
                        extremeNetloginSystemTime,
                        extremeNetloginUser, 
                        extremeNetloginSrcVlan,
                        extremeNetloginDestVlan,
                        extremeNetloginSessionStatus
                    }
            STATUS      current
            DESCRIPTION
            "This trap will be generated upon authentication failure for a 
             netlogin supplicant"
            ::= { extremeSecurityTrapsPrefix 6 }

            extremeGratuitousArpViolation NOTIFICATION-TYPE
            OBJECTS { extremeArpSecurityVlanIfIndex,
                      extremeArpSecurityVlanDescr,
                      extremeArpSecurityPortIfIndex,
                      extremeArpSecurityIpAddr,
                      extremeArpSecurityMacAddress }

            STATUS      current
            DESCRIPTION
                "This trap will be generated on a valn for which gratuitous ARP protection has been
                 configured, when a gratuitous ARP does not match the internal static or secured IP<->MAC binding."
            ::= { extremeSecurityTrapsPrefix 7 }

            extremeNetloginStationMac  OBJECT-TYPE
            SYNTAX  MacAddress
            MAX-ACCESS accessible-for-notify
              STATUS       current
             DESCRIPTION
            "MAC address of netlogin supplicant"
            ::= { extremeSecurityTraps 6 }

            extremeNetloginStationAddr  OBJECT-TYPE
            SYNTAX  IpAddress
            MAX-ACCESS accessible-for-notify
              STATUS       current
             DESCRIPTION
            "MAC address of netlogin supplicant"
            ::= { extremeSecurityTraps 7 }


            extremeNetloginPortIfIndex   OBJECT-TYPE
            SYNTAX  Integer32
            MAX-ACCESS accessible-for-notify
              STATUS       current
             DESCRIPTION
            "IfIndex of authenticator port to which the netlogin supplicant is 
            connected"
            ::= { extremeSecurityTraps 8}

            extremeNetloginAuthType  OBJECT-TYPE
            SYNTAX           ClientAuthType
            MAX-ACCESS accessible-for-notify
              STATUS       current
             DESCRIPTION
            "IF supplicant is authenticated using remote authentication server
            as RADIUS or locally using authenticator local user database"
            ::= { extremeSecurityTraps 9}

            extremeNetloginSystemTime OBJECT-TYPE
            SYNTAX  TimeStamp
            MAX-ACCESS accessible-for-notify
            STATUS  current
            DESCRIPTION
                "The time when a netlogin event occurs and  is 
                meaningful for accounting purposes."
        ::= { extremeSecurityTraps 10}

        extremeNetloginUser  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..64))
        MAX-ACCESS accessible-for-notify
          STATUS       current
         DESCRIPTION
        "Information containing type of session as NETLOGIN or DOT1X
        concatenated with userName  i,e  '[NETLOGIN | DOT1X]:<username>' "
        ::= { extremeSecurityTraps 11}

        extremeNetloginSrcVlan  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..64))
        MAX-ACCESS accessible-for-notify
          STATUS       current
         DESCRIPTION
        "Upon successful login this vlan will represent the one in which 
        user resides before authentication while upon logout this vlan will 
        be the one in which user resides before logout. "
        ::= { extremeSecurityTraps 12}

        extremeNetloginDestVlan  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..64))
        MAX-ACCESS accessible-for-notify
          STATUS       current
         DESCRIPTION
        "The description (name) of the VLAN in which user moves after 
        successful login or logout."
        ::= { extremeSecurityTraps 13}
        
        extremeNetloginSessionStatus   OBJECT-TYPE
         SYNTAX       INTEGER {
                        success (1),
                        sessionReset (2),
                         fDBAgingInitiatedLogout    (3),
                         userInitiatedLogout    (4),
                        sessionRefreshInitiatedLogout (5),
                        authenticationFailure  (6),
                                        remoteAuthenticationServerFailure (7),
                        fDBDeleteInitiatedLogout (8),
                        linkDownInitiatedLogout (9),
                                                reauthenticationFailure (10),
                        successWithRestrictedAccess (11),
                        successWithTimeLimitedAccess (12)
                }
         MAX-ACCESS accessible-for-notify
           STATUS       current
           DESCRIPTION
        "
        -success (1) 
            Successful login
         -sessionReset (2)
            Administrator has initialized Authentication State.
        -fDBAgingInitiatedLogout (3)
             Logout initiated due to FDB aging of client MAC
        -userInitiatedLogout(4)
            Graceful logout attempt from user
        -sessionRefreshInitiatedLogout (5)
            (Valid for web-based mode only) Logout initiated by 
            session-refresh mechanism.
       -authenticationFailure(6)
            Authentication Failure
        -remoteAuthenticationServerFailure (7)
            Remote Authentication server Failure.
        -reauthenticationFailure (10)
            Dot1X reauthentication failure.
        -successWithRestrictedAccess (11)
            802.1X supplicant will be authenticated but with restricted network access
        -successWithTimeLimitedAccess (12)
            802.1X supplicant will be given full network access for a limited time period
        "
        ::= { extremeSecurityTraps 14 }


     extremeArpSecurityVlanIfIndex OBJECT-TYPE
         SYNTAX Integer32
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "The ifIndex of the VLAN on which the ARP packet was received."
         ::= { extremeSecurityTraps 15 }

     extremeArpSecurityVlanDescr OBJECT-TYPE
         SYNTAX DisplayString (SIZE(0..32))
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "The description(name) of the VLAN on which the ARP packet was received."
         ::= { extremeSecurityTraps 16 }

    extremeArpSecurityPortIfIndex  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The ifIndex of the port on which the ARP packet was received."
        ::= { extremeSecurityTraps 17 }

    extremeArpSecurityIpAddr  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS accessible-for-notify
        STATUS       current
        DESCRIPTION
        "source IP address of the ARP packet"
        ::= { extremeSecurityTraps 18 }

    extremeArpSecurityMacAddress  OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "source MAC address in the ARP packet"
        ::= { extremeSecurityTraps 19 }


    extremeNMSTraps     OBJECT IDENTIFIER
        ::= { extremeV2Traps 4 }

    extremeNMSTrapsPrefix     OBJECT IDENTIFIER
          ::= { extremeNMSTraps 0 }

        extremeNMSDeviceAddress  OBJECT-TYPE
          SYNTAX IpAddress
          MAX-ACCESS  accessible-for-notify
          STATUS current
          DESCRIPTION
              "The IP address of the device modified by Extreme's Network Management Application."
      ::= { extremeNMSTraps 1 }

      extremeNMSInventoryChanged NOTIFICATION-TYPE
                OBJECTS { extremeNMSDeviceAddress }
            STATUS      current
        DESCRIPTION
                    "This trap is sent by Extreme's Network Management Applications when a change
             in its inventory database occurs. This trap is not send by a router or switch."
        ::= { extremeNMSTrapsPrefix 1 }

          extremeNMSTopologyChanged NOTIFICATION-TYPE
            STATUS      current
        DESCRIPTION
                    "This trap is sent by Extreme's Network Management Applications when a change 
             in its Topology database occurs. This trap is not send by a router or switch."
        ::= { extremeNMSTrapsPrefix 2 }

     extremeElrpTraps       OBJECT IDENTIFIER
                ::= { extremeV2Traps 6 }

     extremeElrpTrapsPrefix  OBJECT IDENTIFIER
          ::= { extremeElrpTraps 0 }

     extremeElrpVlanLoopDetected NOTIFICATION-TYPE
            OBJECTS { extremeVlanIfDescr}
            STATUS  current
            DESCRIPTION
                     " The extremeElrpVlanLoopDetected notification is generated
                       when the ELRP client detects a loop in the vlan."
                ::= { extremeElrpTrapsPrefix 1 }
    
    extremeEapsTraps     OBJECT IDENTIFIER
        ::= { extremeV2Traps 7 }

    extremeEapsTrapsPrefix     OBJECT IDENTIFIER
          ::= { extremeEapsTraps 0 }

        extremeEapsStateChange NOTIFICATION-TYPE
            OBJECTS {    extremeEapsName, 
            extremeEapsMode, 
            extremeEapsPrevState,
            extremeEapsState,
            extremeEapsFailedFlag,
            extremeEapsPrimaryStatus,
            extremeEapsSecondaryStatus}
            STATUS  current
            DESCRIPTION
                    "The extremeEapsStateChange notification is generated
                     when the EAPS domain has a state change."
                ::= { extremeEapsTrapsPrefix 1 }

        extremeEapsFailTimerExpFlagSet NOTIFICATION-TYPE
            OBJECTS {    extremeEapsName, 
            extremeEapsMode, 
            extremeEapsPrevState,
            extremeEapsState}
            STATUS  current
            DESCRIPTION
                    "The extremeEapsFailTimerExpFlagSet notification is 
                     generated when the EAPS domain's fail timer expires
                     for the first time, while its state is not in Fail state."
                ::= { extremeEapsTrapsPrefix 2 }

        extremeEapsFailTimerExpFlagClear NOTIFICATION-TYPE
            OBJECTS {    extremeEapsName, 
            extremeEapsMode, 
            extremeEapsPrevState,
            extremeEapsState,
            extremeEapsFailedFlag,
            extremeEapsPrimaryStatus,
            extremeEapsSecondaryStatus}
            STATUS  current
            DESCRIPTION
                    "The extremeEapsFailTimerExpFlagClear notification is 
                     generated when the EAPS domain's Fail timer expired flag 
                     is cleared."
                ::= { extremeEapsTrapsPrefix 3 }


        extremeEapsLinkDownRingComplete NOTIFICATION-TYPE
            OBJECTS {    extremeEapsName, 
            extremeEapsMode, 
            extremeEapsPrevState,
            extremeEapsState,
            extremeEapsFailedFlag,
            extremeEapsPrimaryStatus,
            extremeEapsSecondaryStatus}
            STATUS  current
            DESCRIPTION
                    "If a Transit is in Link-Down state, and it receives a 
                     Health-Check-Pdu from the Master indicating the ring is
                     Complete, it means there is some problem with the Transit
                     switch that has issued this trap message."
                ::= { extremeEapsTrapsPrefix 4 }

       extremeEapsPortStatusChange NOTIFICATION-TYPE
            OBJECTS {    extremeEapsName,
            extremeEapsPrimaryStatus,
            extremeEapsSecondaryStatus, 
            extremeEapsLastStatusChange}
            STATUS  current
            DESCRIPTION
                    "The extremeEapsPortStatusChange notification is 
                     generated when an EAPS primary or secondary port changes state."
                ::= { extremeEapsTrapsPrefix 5 }

       extremeEapsConfigChange NOTIFICATION-TYPE
            OBJECTS {    extremeEapsLastConfigurationChange }
            STATUS  current
            DESCRIPTION
                    "The extremeEapsConfigChange notification is generated
                     when the EAPS configuration has changed.  It is sent 30 seconds 
                     after the first change is made to limit the number of traps sent"
                ::= { extremeEapsTrapsPrefix 6 }

       extremeEapsLastStatusChangeTime NOTIFICATION-TYPE
            OBJECTS {    extremeEapsLastStatusChange,
                         extremeEapsStatusTrapCount}
            STATUS  current
            DESCRIPTION
                    "The extremeEapsLastStatusChangeTime notification is generated
                     10 seconds after a status change occurs.  Within the 10 second period all
                     status changes cause extremeEapsLastStatusChange variable to be updated.
                     10 seconds after the first change, this trap is sent.  This is to ensure
                     a management station is notified that a change occured, in case the regular
                     traps are dropped due to be being sent while the network is converging."
                ::= { extremeEapsTrapsPrefix 7 }


    extremeBgpM2Traps     OBJECT IDENTIFIER
        ::= { extremeV2Traps 8 }

    extremeBgpM2TrapsPrefix     OBJECT IDENTIFIER
          ::= { extremeBgpM2Traps 0 }

        extremeBgpM2PrefixReachedThreshold NOTIFICATION-TYPE
            OBJECTS { 
                 bgpM2PeerRemoteAddr,
                 bgpM2PeerRemoteAddrType,
                 bgpM2PeerLocalAddr,
                 bgpM2PeerLocalAddrType
            }
            STATUS  current
            DESCRIPTION
                    "The extremeBgpPrefixReachedThreshold notification is generated
                     when the number of prefixes received over this 
                     peer session reaches the threshold limit."
                ::= { extremeBgpM2TrapsPrefix 1 }

        extremeBgpM2PrefixMaxExceeded NOTIFICATION-TYPE
            OBJECTS { 
                 bgpM2PeerRemoteAddr,
                 bgpM2PeerRemoteAddrType,
                 bgpM2PeerLocalAddr,
                 bgpM2PeerLocalAddrType
            }
            STATUS  current
            DESCRIPTION
                    "The extremeBgpPrefixMaxExceeded notification is generated
                     when the number of prefixes received over this 
                     peer session reaches the maximum configured limit."
                ::= { extremeBgpM2TrapsPrefix 2 }

    -- Extreme PoE Notifications
extremePethTraps  OBJECT IDENTIFIER ::= {extremeV2Traps 12}

    extremePethNotificationPrefix     OBJECT IDENTIFIER
                    ::= { extremePethTraps 0 }

        extremePethPSUStatusNotification NOTIFICATION-TYPE
            OBJECTS     { extremePethSlotPSUActive,
                          extremePethSlotMainPseIndex }
            STATUS      current
            DESCRIPTION
                " This Notification indicates a change in the PoE PSU for the slot."
            ::= { extremePethNotificationPrefix 1 }


    extremeEapsSharedLinkTraps     OBJECT IDENTIFIER
                ::= { extremeV2Traps 9 }

        extremeEapsSharedLinkTrapsPrefix     OBJECT IDENTIFIER
          ::= { extremeEapsSharedLinkTraps 0 }

        extremeSegmentPort  OBJECT-TYPE
              SYNTAX EapsRingPort
              MAX-ACCESS  accessible-for-notify
              STATUS current
              DESCRIPTION
                  "The EAPS Shared Link's Segment Id."
                  ::= { extremeEapsSharedLinkTraps 1 }

        extremeSharedPort  OBJECT-TYPE
              SYNTAX EapsRingPort
              MAX-ACCESS  accessible-for-notify
              STATUS current
              DESCRIPTION
                  "The EAPS Shared Link's Shared port."
                  ::= { extremeEapsSharedLinkTraps 2 }

        extremeEapsSegmentTimerExpFlagSet NOTIFICATION-TYPE
            OBJECTS {   extremeSegmentPort, 
                        extremeSharedPort
                    }
            STATUS  current
            DESCRIPTION
                    "The extremeEapsFailTimerExpFlagSet notification is 
                     generated when the EAPS domain's segment timer expires
                     for the first time."
                ::= { extremeEapsSharedLinkTrapsPrefix 1 }

        extremeEapsSegmentTimerExpFlagClear NOTIFICATION-TYPE
            OBJECTS {   extremeSegmentPort,
                        extremeSharedPort
                    }
            STATUS  current
            DESCRIPTION
                    "The extremeEapsSegmentTimerExpFlagClear notification is 
                     generated when the EAPS domain's Segment Fail timer 
                     expired flag is cleared."
                ::= { extremeEapsSharedLinkTrapsPrefix 2 }

        extremeEapsSharedPortStateChange NOTIFICATION-TYPE
            OBJECTS {    extremeEapsSharedPortIfIndex,
                         extremeEapsSharedPortLinkId,
                         extremeEapsSharedPortState,
                         extremeEapsSharedPortNbrStatus,
                         extremeEapsSharedPortRootBlockerStatus,
                         extremeEapsLastStatusChange }
            STATUS  current
            DESCRIPTION
                    "The extremeEapsSharedPortStateChange notification is generated
                     when the EAPS shared port state changes."
                ::= { extremeEapsSharedLinkTrapsPrefix 3 }

        extremeEapsRootBlockerStatusChange NOTIFICATION-TYPE
            OBJECTS {    extremeEapsSharedPortIfIndex,
                         extremeEapsSharedPortRootBlockerStatus,
                         extremeEapsSharedPortRootBlockerId,
                         extremeEapsLastStatusChange}
            STATUS  current
            DESCRIPTION
                    "The extremeEapsSharedPortRootBlockerChange notification is generated
                     when each switch detects a new rootblocker ID on the networks."
                ::= { extremeEapsSharedLinkTrapsPrefix 4 }


    -- Extreme LACP Notifications
extremeLacpTraps  OBJECT IDENTIFIER ::= {extremeV2Traps 13}

    extremeLacpNotificationPrefix     OBJECT IDENTIFIER
                    ::= { extremeLacpTraps 0 }

        extremeLacpAddPortToAggregator NOTIFICATION-TYPE
            OBJECTS     { extremeLacpGroup,
                          extremeLacpMemberPort }
            STATUS      current
            DESCRIPTION
                " This Notification indicates when a LACP member-port has been added to the Aggregator."
            ::= { extremeLacpNotificationPrefix 1 }

        extremeLacpDeletePortFromAggregator NOTIFICATION-TYPE
            OBJECTS     { extremeLacpGroup,
                          extremeLacpMemberPort }
            STATUS      current
            DESCRIPTION
                " This Notification indicates when a LACP member-port has been deleted from the Aggregator."
            ::= { extremeLacpNotificationPrefix 2 }

    -- The following are Extreme specific v1 traps converted to v2

          extremeOverheat NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeCurrentTemperature }
              STATUS  current
              DESCRIPTION "A overheat trap indicates that the on board
                          tempature sensor has reported a overheat 
                          condition.  System will shutdown until unit has
                                      sufficiently cooled such that operation may begin
                          again.  A cold start trap will be issued when
                          the unit has come back on line."
              ::= { extremeV1Traps 6 }

          extremeFanfailed NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeFanNumber }
              STATUS  current
              DESCRIPTION
                          "A fan failed trap indicates one or more of the
                          cooling fans inside the device has failed.  A
                          fanOK trap will be sent once the fan has attained
                          normal operation."
              ::= { extremeV1Traps 7 }

          extremeFanOK NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeFanNumber }
              STATUS  current
              DESCRIPTION
                          "A fan has transitioned out of a failure state and
                          is now operating correctly."
              ::= { extremeV1Traps 8 }

          extremeInvalidLoginAttempt NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr }
              STATUS  current
              DESCRIPTION
                "A user attempted to login to console or by telnet but was
                 refused access due to incorrect username or password"
              ::= { extremeV1Traps 9 }

          extremePowerSupplyFail NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremePowerSupplyNumber }
              STATUS  current
              DESCRIPTION
                "One or more sources of power to this agent has failed.
                 Presumably a redundant power-supply has taken over."
              ::= { extremeV1Traps 10 }

          extremePowerSupplyGood NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremePowerSupplyNumber }
              STATUS  current
              DESCRIPTION
                 "One or more previously bad sources of power to this agent 
                 has come back to life without causing an agent restart."
              ::= { extremeV1Traps 11 }

        extremeSmartTrap NOTIFICATION-TYPE
            OBJECTS   { sysUpTime, sysDescr }
            STATUS  current
                DESCRIPTION
                "Signifies that the value of one of the object identifiers 
                (or the value of an object below that in the MIB tree) 
                defined in the extremeSmartTrapRulesTable has changed, 
                and hence a new entry has been created in the 
                extremeSmartTrapInstanceTable. Such a trap is sent 
                at most once every thirty seconds if one or more entry 
                was created in the last thirty seconds." 
              ::= { extremeV1Traps 14 }


        extremeModuleStateChanged NOTIFICATION-TYPE
                OBJECTS   { sysUpTime, extremeSlotNumber, 
                            extremeSlotModuleConfiguredType, 
                            extremeSlotModuleInsertedType, 
                            extremeSlotModuleState }
                STATUS current
                DESCRIPTION
                "Signifies that the value of the extremeSlotModuleState for 
                 the specified extremeSlotNumber has changed. 
                 Traps will be reported only for significant states."
              ::= { extremeV1Traps 15 }

        extremeEdpNeighborAdded NOTIFICATION-TYPE
                OBJECTS {sysUpTime, extremeEdpPortIfIndex,
                                 extremeEdpNeighborId, extremeEdpEntryAge,
                                 ifAlias, ifDescr
                }
        STATUS  current
        DESCRIPTION
        "This node discovers a new neighbor through Extreme Discovery
         Protocol."
              ::= { extremeV1Traps 20 }

        extremeEdpNeighborRemoved NOTIFICATION-TYPE
                OBJECTS { sysUpTime, extremeEdpPortIfIndex,
                                  extremeEdpNeighborId, extremeEdpEntryAge,
                                  ifAlias, ifDescr
                    }
        STATUS  current
        DESCRIPTION
        "No EDP updates are received from this neighbor within
        the configured timeout period and this neighbor entry is aged
        out by the device."
              ::= { extremeV1Traps 21 }
        
END

-- ################################################################################

EXTREME-CLEARFLOW-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
                OBJECT-TYPE             FROM SNMPv2-SMI
                DisplayString           FROM RFC1213-MIB
                Unsigned32              FROM SNMPv2-SMI
                Integer32               FROM SNMPv2-SMI
                Counter64               FROM SNMPv2-SMI
                NOTIFICATION-TYPE       FROM SNMPv2-SMI
                extremeAgent            FROM EXTREME-BASE-MIB;
 
        extremeClearflow MODULE-IDENTITY
                LAST-UPDATED "200503220000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "CLEAR-Flow MIB"
        ::= { extremeAgent 30 }
        
        extremeClearflowMsgId OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "User-defined message id"
        ::= { extremeClearflow 1 }
        
        extremeClearflowMsg OBJECT-TYPE
        SYNTAX     DisplayString (SIZE(1..256))
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "User-defined message"
        ::= { extremeClearflow 2 }
        
        extremeClearflowPolicyName OBJECT-TYPE
        SYNTAX     DisplayString (SIZE(1..32))
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Policy file name"
        ::= { extremeClearflow 3 }
        
        extremeClearflowRuleName OBJECT-TYPE
        SYNTAX     DisplayString (SIZE(1..32))
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Rule name which triggered this message"
        ::= { extremeClearflow 4 }

        extremeClearflowRuleValue OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Calculated rule value"
        ::= { extremeClearflow 5 }

        extremeClearflowRuleThreshold OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Rule threshold value"
        ::= { extremeClearflow 6 }

        extremeClearflowRuleInterval OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Rule sampling and evaluation interval"
        ::= { extremeClearflow 7 }

        extremeClearflowVlanName OBJECT-TYPE
        SYNTAX     DisplayString (SIZE(1..32))
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Vlan name on which this policy is applied"
        ::= { extremeClearflow 8 }
        
        extremeClearflowPortName OBJECT-TYPE
        SYNTAX     DisplayString (SIZE(1..32))
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Port name on which this policy is applied"
        ::= { extremeClearflow 9 }

        
        extremeAclListTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF ExtremeAclListEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "This table lists Access control list information that exist within
                a device.  A single entry exists in this list for each
                VLAN and Port interface in the system."
        ::= { extremeClearflow 10 }

        extremeAclListEntry OBJECT-TYPE
            SYNTAX  ExtremeAclListEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "An individual Access control list entry."
        INDEX { extremeAclVlanIfIndex, extremeAclPortIfIndex }
        ::= { extremeAclListTable 1 }

        ExtremeAclListEntry ::=
            SEQUENCE {
                extremeAclVlanIfIndex
                    Integer32,
                extremeAclPortIfIndex
                    Integer32,
                extremeAclCounterName
                    DisplayString,
                extremeAclVlanName
                    DisplayString,
                extremeAclPolicyName
                    DisplayString,
                extremeAclDirection
                    Integer32,
                extremeAclPktCount
                    Counter64,
                extremeAclByteCount
                    Counter64
            }

        extremeAclPortIfIndex OBJECT-TYPE
            SYNTAX  Integer32 (1..65535)
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "An port index that uniquely identifies an entry in the
                acl list table."
        ::= { extremeAclListEntry 1 }

        extremeAclVlanIfIndex OBJECT-TYPE
            SYNTAX  Integer32
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "An vlan index that uniquely identifies an entry in the
                acl list table."
        ::= { extremeAclListEntry 2 }

        extremeAclCounterName OBJECT-TYPE
            SYNTAX  DisplayString (SIZE(0..33))
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "The access control list counter name"
        ::= { extremeAclListEntry 3 }

        extremeAclVlanName OBJECT-TYPE
            SYNTAX  DisplayString (SIZE(0..32))
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Vlan name on which this policy is applied"    
        ::= { extremeAclListEntry 4 }

        extremeAclPolicyName OBJECT-TYPE
            SYNTAX  DisplayString
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "The access control list name"
        ::= { extremeAclListEntry 5 }

        extremeAclDirection OBJECT-TYPE
            SYNTAX  Integer32
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "The interface direction."
        ::= { extremeAclListEntry 6 }

        extremeAclPktCount OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
                "The access control list packet count"
        ::= { extremeAclListEntry 7 }

        extremeAclByteCount OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "The access control list byte count"
        ::= { extremeAclListEntry 8 }

        extremeTrafficQueueStatsTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF ExtremeTrafficQueueStatsTableEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "This table lists traffic queue statistics information that exist 
                within a device.  A single entry exists in this list for each
                traffic queue in the system."
        ::= { extremeClearflow 11 }

        extremeTrafficQueueStatsTableEntry OBJECT-TYPE
            SYNTAX  ExtremeTrafficQueueStatsTableEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "An individual traffic queue stats table entry."
        INDEX { extremeTrafficQueueName }
        ::= { extremeTrafficQueueStatsTable 1 }

        ExtremeTrafficQueueStatsTableEntry ::=
            SEQUENCE {
                extremeTrafficQueueName
                    DisplayString,
                extremeTrafficQueueDirection
                    Integer32,
                extremeTrafficQueueHighPassedPkts
                    Counter64,
                extremeTrafficQueueHighPassedBytes
                    Counter64,
                extremeTrafficQueueHighDroppedPkts
                    Counter64,
                extremeTrafficQueueHighDroppedBytes
                    Counter64,
                extremeTrafficQueueMedPassedPkts
                    Counter64,
                extremeTrafficQueueMedPassedBytes
                    Counter64,
                extremeTrafficQueueMedDroppedPkts
                    Counter64,
                extremeTrafficQueueMedDroppedBytes
                    Counter64,
                extremeTrafficQueueLowPassedPkts
                    Counter64,
                extremeTrafficQueueLowPassedBytes
                    Counter64,
                extremeTrafficQueueLowDroppedPkts
                    Counter64,
                extremeTrafficQueueLowDroppedBytes
                    Counter64,
                extremeTrafficQueueAggPassedPkts
                    Counter64,
                extremeTrafficQueueAggPassedBytes
                    Counter64,
                extremeTrafficQueueAggDroppedPkts
                    Counter64,
                extremeTrafficQueueAggDroppedBytes
                   Counter64
        }

        extremeTrafficQueueName OBJECT-TYPE
            SYNTAX  DisplayString (SIZE(0..33))
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "The traffic queue name that uniquely identifies an entry in the
                traffic queue table."
        ::= { extremeTrafficQueueStatsTableEntry 1 }

        extremeTrafficQueueDirection OBJECT-TYPE
            SYNTAX  Integer32
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Indicates the direction of traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 2 }

        extremeTrafficQueueHighPassedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Maximum number of packets passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 3 }

        extremeTrafficQueueHighPassedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Maximum number of bytes passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 4 }
  
        extremeTrafficQueueHighDroppedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Maximum number of packets dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 5 }

        extremeTrafficQueueHighDroppedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Maximum number of bytes dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 6 }

        extremeTrafficQueueMedPassedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Medium number of packets passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 7 }

        extremeTrafficQueueMedPassedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Medium number of bytes passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 8 }

        extremeTrafficQueueMedDroppedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Medium number of packets dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 9 }

        extremeTrafficQueueMedDroppedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Medium number of bytes dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 10 }

        extremeTrafficQueueLowPassedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Minimum number of packets passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 11 }

        extremeTrafficQueueLowPassedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Minimum number of bytes passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 12 }

        extremeTrafficQueueLowDroppedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Minimum number of packets dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 13 }

        extremeTrafficQueueLowDroppedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Minimum number of bytes dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 14 }

        extremeTrafficQueueAggPassedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Aggregate number of packets passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 15 }

        extremeTrafficQueueAggPassedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Aggregate number of bytes passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 16 }

        extremeTrafficQueueAggDroppedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Aggregate number of packets dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 17 }

        extremeTrafficQueueAggDroppedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Aggregate number of bytes dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 18 }

        extremeTrafficQueueUtilTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF ExtremeTrafficQueueUtilTableEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "This table lists traffic queue statistics information that exist 
                within a device.  A single entry exists in this list for each
                traffic queue in the system."
        ::= { extremeClearflow 12 }

        extremeTrafficQueueUtilTableEntry OBJECT-TYPE
            SYNTAX  ExtremeTrafficQueueUtilTableEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "An each traffic queue related utilization information"
            INDEX { extremeUtilTrafficQueueName }
        ::= { extremeTrafficQueueUtilTable 1 }

        ExtremeTrafficQueueUtilTableEntry ::=
            SEQUENCE {
                extremeUtilTrafficQueueName
                    DisplayString,
                extremeUtilTrafficQueueDirection
                    Integer32,
                extremeTrafficQueueHighUtilization
                    DisplayString,
                extremeTrafficQueueMedUtilization
                    DisplayString,
                extremeTrafficQueueLowUtilization
                    DisplayString
           }

        extremeUtilTrafficQueueName OBJECT-TYPE
            SYNTAX  DisplayString (SIZE(0..33))
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "The traffic queue name that uniquely identifies an entry in the
                traffic queue table."
        ::= { extremeTrafficQueueUtilTableEntry 1 }

        extremeUtilTrafficQueueDirection OBJECT-TYPE
            SYNTAX  Integer32
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Indicates the direction of traffic queue"
        ::= { extremeTrafficQueueUtilTableEntry 2 }

        extremeTrafficQueueHighUtilization OBJECT-TYPE
            SYNTAX  DisplayString
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "High level utilization of the traffic queue "
        ::= { extremeTrafficQueueUtilTableEntry 3 }

        extremeTrafficQueueMedUtilization OBJECT-TYPE
            SYNTAX  DisplayString
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Medium level utilization of the traffic queue "
        ::= { extremeTrafficQueueUtilTableEntry 4 }

        extremeTrafficQueueLowUtilization OBJECT-TYPE
            SYNTAX  DisplayString
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Low level utilization of the traffic queue "
        ::= { extremeTrafficQueueUtilTableEntry 5 }

        extremeClearflowTraps     OBJECT IDENTIFIER
        ::= { extremeClearflow 0 }
    
        extremeClearflowTrapsPrefix     OBJECT IDENTIFIER
        ::= { extremeClearflowTraps 0 }

        extremeClearflowMessage NOTIFICATION-TYPE
            OBJECTS {   extremeClearflowMsgId, 
                        extremeClearflowMsg,
                        extremeClearflowPolicyName,
                        extremeClearflowRuleName,
                        extremeClearflowRuleValue,
                        extremeClearflowRuleThreshold,
                        extremeClearflowRuleInterval,
                        extremeClearflowVlanName,
                        extremeClearflowPortName}
            STATUS  current
            DESCRIPTION "CLEAR-Flow message trap"
        ::= { extremeClearflowTrapsPrefix 1 }


END

-- ################################################################################

EXTREME-ENTITY-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY  FROM SNMPv2-SMI
                OBJECT-TYPE      FROM SNMPv2-SMI
                Unsigned32       FROM SNMPv2-SMI
                extremeAgent     FROM EXTREME-BASE-MIB
                entPhysicalIndex FROM ENTITY-MIB;

        extremeEntity MODULE-IDENTITY
                LAST-UPDATED "200502140000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme System objects: objects common to all platforms"
        ::= { extremeAgent 31 }

--
--  FRU Table
--
        extremeEntityFRUTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeEntityFRUEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "A table containing information about each FRU in the 
                chassis based on Entity MIB."
                        ::= { extremeEntity 1 }

        extremeEntityFRUEntry OBJECT-TYPE
                SYNTAX  ExtremeEntityFRUEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "Entry in table for a FRU Entity."
                INDEX     { entPhysicalIndex }
                        ::= { extremeEntityFRUTable 1 }

        ExtremeEntityFRUEntry ::= SEQUENCE {
                extremeEntityFRUStartTime       Unsigned32,
                extremeEntityFRUOdometer        Unsigned32,
                extremeEntityFRUOdometerUnit    INTEGER
        }

        extremeEntityFRUStartTime  OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "First Recorded Start Time."
                ::= { extremeEntityFRUEntry 1 }

        extremeEntityFRUOdometer   OBJECT-TYPE
                SYNTAX  Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "Number of time units in service."
                ::= { extremeEntityFRUEntry 2 }

        extremeEntityFRUOdometerUnit OBJECT-TYPE
                SYNTAX INTEGER { days(1), seconds(2) }
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Time unit used to represent value reported by
                extremeEntityFRUOdometer. Depending on the underlying 
                hardware capability."
                ::= { extremeEntityFRUEntry 3 }

END

-- ################################################################################

EXTREME-SOFTWARE-MONITOR-MIB DEFINITIONS ::= BEGIN

        IMPORTS
        MODULE-IDENTITY FROM SNMPv2-SMI
        NOTIFICATION-TYPE FROM SNMPv2-SMI
        OBJECT-TYPE     FROM SNMPv2-SMI
                Unsigned32    FROM SNMPv2-SMI
                TruthValue      FROM SNMPv2-TC
        DisplayString   FROM RFC1213-MIB
                extremeAgent   FROM EXTREME-BASE-MIB
        extremeImageDescription FROM EXTREME-SYSTEM-MIB 
        PortList    FROM EXTREME-BASE-MIB
                IpAddress       FROM SNMPv2-SMI;

        extremeSwMonitor MODULE-IDENTITY
                LAST-UPDATED "200402140000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Software Monitor objects: objects common to all platforms"
        ::= { extremeAgent 32 }

        extremeSwMonitorCpu OBJECT IDENTIFIER
        ::= { extremeSwMonitor 1 }        
        extremeSwMonitorMemory OBJECT IDENTIFIER
        ::= { extremeSwMonitor 2 }
        extremeSwMonitorNotifications       OBJECT IDENTIFIER 
        ::= { extremeSwMonitor 3 }
        extremeServiceLicense   OBJECT IDENTIFIER 
        ::= { extremeSwMonitor 4 }
        extremeTrialLicense   OBJECT IDENTIFIER 
        ::= { extremeSwMonitor 5 }
        extremeSwMonitorNotificationsPrefix OBJECT IDENTIFIER 
        ::= { extremeSwMonitorNotifications 0 }


--
--  System group
--
--  Objects common to all platforms
--
       extremeCpuMonitorInterval OBJECT-TYPE
            SYNTAX INTEGER (5..60)
            MAX-ACCESS read-only 
            STATUS current
            DESCRIPTION
                "Cpu monitoring interval in seconds. Can not be smaller
                then 5 seconds."
    ::= { extremeSwMonitorCpu 1 }

       extremeCpuMonitorTotalUtilization OBJECT-TYPE
            SYNTAX INTEGER (0..100)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Total CPU utlization (percentage) as of last sampling."
    ::= { extremeSwMonitorCpu 2 }

--
-- The CPU Task table lists all executing processs 
--
        extremeCpuMonitorTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeCpuMonitorEntry
        MAX-ACCESS  not-accessible
        STATUS current
                DESCRIPTION
                  "Table of CPU processes that are active."
    ::= { extremeSwMonitorCpu 3 }

        extremeCpuMonitorEntry OBJECT-TYPE
        SYNTAX  ExtremeCpuMonitorEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                  "An entry in table of describes a single process."
        INDEX { extremeCpuMonitorSlotId, IMPLIED extremeCpuMonitorProcessName }
    ::= { extremeCpuMonitorTable 1 }

    ExtremeCpuMonitorEntry ::=
        SEQUENCE {
            extremeCpuMonitorSlotId
                Unsigned32,
            extremeCpuMonitorProcessName
                DisplayString,
            extremeCpuMonitorProcessId
                Unsigned32,
            extremeCpuMonitorProcessState
                DisplayString,
            extremeCpuMonitorUtilization5secs
                DisplayString,
            extremeCpuMonitorUtilization10secs
                DisplayString,
            extremeCpuMonitorUtilization30secs
                DisplayString,
            extremeCpuMonitorUtilization1min
                DisplayString,
            extremeCpuMonitorUtilization5mins
                DisplayString,
            extremeCpuMonitorUtilization30mins
                DisplayString,
            extremeCpuMonitorUtilization1hour
                DisplayString,
            extremeCpuMonitorMaxUtilization
                DisplayString,
            extremeCpuMonitorUserTime
                DisplayString,
            extremeCpuMonitorSystemTime
                DisplayString
        }

        extremeCpuMonitorSlotId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Slot Id of the process monitored."
    ::= { extremeCpuMonitorEntry 1 }

        extremeCpuMonitorProcessName OBJECT-TYPE
            SYNTAX DisplayString (SIZE(1..31))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                  "Name associated with the reported process id."
    ::= { extremeCpuMonitorEntry 2 }

        extremeCpuMonitorProcessId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Process identifier assigned by the operating system when
                   this process is created."
    ::= { extremeCpuMonitorEntry 3 }

    
        extremeCpuMonitorProcessState OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The current state of the process as reported by Extremeware XOS."
    ::= { extremeCpuMonitorEntry 4 }

        extremeCpuMonitorUtilization5secs OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 5 seconds."
    ::= { extremeCpuMonitorEntry 5 }

        extremeCpuMonitorUtilization10secs OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 10 seconds."
    ::= { extremeCpuMonitorEntry 6 }

        extremeCpuMonitorUtilization30secs OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 30 seconds."
    ::= { extremeCpuMonitorEntry 7 }

        extremeCpuMonitorUtilization1min OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 1 minute."
    ::= { extremeCpuMonitorEntry 8 }


       extremeCpuMonitorUtilization5mins OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 5 minutes."
    ::= { extremeCpuMonitorEntry 9 }

       extremeCpuMonitorUtilization30mins OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 30 minutes."
    ::= { extremeCpuMonitorEntry 10 }

      extremeCpuMonitorUtilization1hour OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 1 hour."
    ::= { extremeCpuMonitorEntry 11 }

        extremeCpuMonitorMaxUtilization OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The maximum CPU utilization by this process since
           the time the start started executing. "
    ::= { extremeCpuMonitorEntry 12 }

        extremeCpuMonitorUserTime OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The amount of time process spend in application space from 
           the time the process started executing. "
    ::= { extremeCpuMonitorEntry 13 }


       extremeCpuMonitorSystemTime OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The amount of time process spend in kernel space from
           the time the process started executing. "
    ::= { extremeCpuMonitorEntry 14 }

--
-- The CPU System table lists cpu utilization history for system processes on each slot 
--
        extremeCpuMonitorSystemTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeCpuMonitorSystemEntry
        MAX-ACCESS  not-accessible
        STATUS current
                DESCRIPTION
                  "Table of CPU utilization for system processes."
    ::= { extremeSwMonitorCpu 4 }

        extremeCpuMonitorSystemEntry OBJECT-TYPE
        SYNTAX  ExtremeCpuMonitorSystemEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                  "An entry in table of describes a single slot CPU 
                    utilization."
        INDEX { extremeCpuMonitorSystemSlotId }
    ::= { extremeCpuMonitorSystemTable 1 }

    ExtremeCpuMonitorSystemEntry ::=
        SEQUENCE {
            extremeCpuMonitorSystemSlotId
                Unsigned32,
            extremeCpuMonitorSystemUtilization5secs
                DisplayString,
            extremeCpuMonitorSystemUtilization10secs
                DisplayString,
            extremeCpuMonitorSystemUtilization30secs
                DisplayString,
            extremeCpuMonitorSystemUtilization1min
                DisplayString,
            extremeCpuMonitorSystemUtilization5mins
                DisplayString,
            extremeCpuMonitorSystemUtilization30mins
                DisplayString,
            extremeCpuMonitorSystemUtilization1hour
                DisplayString,
            extremeCpuMonitorSystemMaxUtilization
                DisplayString
        }
        extremeCpuMonitorSystemSlotId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Slot Id of the system monitored."
    ::= { extremeCpuMonitorSystemEntry 1 }
        extremeCpuMonitorSystemUtilization5secs OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by set of system resources. This
           is the utilization of the process in the last 5 seconds."
    ::= { extremeCpuMonitorSystemEntry 5 }

        extremeCpuMonitorSystemUtilization10secs OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by set of system resources This
           is the utilization of the system resources in the last 10 seconds."
    ::= { extremeCpuMonitorSystemEntry 6 }

        extremeCpuMonitorSystemUtilization30secs OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by system resources process. This
           is the utilization of the system resources in the last 30 seconds."
    ::= { extremeCpuMonitorSystemEntry 7 }

        extremeCpuMonitorSystemUtilization1min OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by system resources. This
           is the utilization of the system resources in the last 1 minute."
    ::= { extremeCpuMonitorSystemEntry 8 }


       extremeCpuMonitorSystemUtilization5mins OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by system resources. This
           is the utilization of the system resourcesin the last 5 minutes."
    ::= { extremeCpuMonitorSystemEntry 9 }

       extremeCpuMonitorSystemUtilization30mins OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by system resources. This
           is the utilization of the system resources in the last 30 minutes."
    ::= { extremeCpuMonitorSystemEntry 10 }

      extremeCpuMonitorSystemUtilization1hour OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 1 hour."
    ::= { extremeCpuMonitorSystemEntry 11 }

        extremeCpuMonitorSystemMaxUtilization OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The maximum CPU utilization by this process since
           the time the start started executing. "
    ::= { extremeCpuMonitorSystemEntry 12 }

--
-- The System Memory  table lists total, system usage of memory utilization 
--
       extremeMemoryMonitorSystemTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeMemoryMonitorSystemEntry
        MAX-ACCESS  not-accessible
        STATUS current
                DESCRIPTION
                  "Table of Memory consumption for processes that are active."
    ::= { extremeSwMonitorMemory 2 }

        extremeMemoryMonitorSystemEntry OBJECT-TYPE
        SYNTAX  ExtremeMemoryMonitorSystemEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                  "An entry in table of describes a single process."
        INDEX { extremeMemoryMonitorSystemSlotId }
    ::= { extremeMemoryMonitorSystemTable 1 }

    ExtremeMemoryMonitorSystemEntry ::=
        SEQUENCE {
            extremeMemoryMonitorSystemSlotId
                Unsigned32,
            extremeMemoryMonitorSystemTotal
                DisplayString,
            extremeMemoryMonitorSystemFree
                DisplayString,
            extremeMemoryMonitorSystemUsage
                DisplayString,
            extremeMemoryMonitorUserUsage
                DisplayString
        }

        extremeMemoryMonitorSystemSlotId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Slot Id of the MSM monitored."
    ::= { extremeMemoryMonitorSystemEntry 1 }

        extremeMemoryMonitorSystemTotal OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..8))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Total amount of DRAM in Kbytes in the system."
    ::= { extremeMemoryMonitorSystemEntry 2 }

        extremeMemoryMonitorSystemFree OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..8))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Total amount of free memory in Kbytes in the system."
    ::= { extremeMemoryMonitorSystemEntry 3 }

        extremeMemoryMonitorSystemUsage OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..8))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Total amount of memory used by system services in Kbytes in the system."
    ::= { extremeMemoryMonitorSystemEntry 4 }

        extremeMemoryMonitorUserUsage OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..8))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Total amount of memory used by applications in Kbytes in the system."
    ::= { extremeMemoryMonitorSystemEntry 5 }


--
-- The Memory Task table lists all executing processs 
--
        extremeMemoryMonitorTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeMemoryMonitorEntry
        MAX-ACCESS  not-accessible
        STATUS current
                DESCRIPTION
                  "Table of Memory consumption for processes that are active."
    ::= { extremeSwMonitorMemory 3 }

        extremeMemoryMonitorEntry OBJECT-TYPE
        SYNTAX  ExtremeMemoryMonitorEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                  "An entry in table of describes a single process."
        INDEX { extremeMemoryMonitorSlotId, IMPLIED extremeMemoryMonitorProcessName }
    ::= { extremeMemoryMonitorTable 1 }

    ExtremeMemoryMonitorEntry ::=
        SEQUENCE {
            extremeMemoryMonitorSlotId
                Unsigned32,
            extremeMemoryMonitorProcessName
                DisplayString,
            extremeMemoryMonitorUsage
                Unsigned32,
            extremeMemoryMonitorLimit
                Unsigned32,
            extremeMemoryMonitorZone
                DisplayString,
            extremeMemoryMonitorGreenZoneCount
                Unsigned32,
            extremeMemoryMonitorYellowZoneCount
                Unsigned32,
            extremeMemoryMonitorOrangeZoneCount
                Unsigned32,
            extremeMemoryMonitorRedZoneCount
                Unsigned32,
            extremeMemoryMonitorGreenZoneThreshold
                Unsigned32,
            extremeMemoryMonitorYellowZoneThreshold
                Unsigned32,
            extremeMemoryMonitorOrangeZoneThreshold
                Unsigned32,
            extremeMemoryMonitorRedZoneThreshold
                Unsigned32
        }

        extremeMemoryMonitorSlotId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Slot Id of the process monitored."
    ::= { extremeMemoryMonitorEntry 1 }

        extremeMemoryMonitorProcessName OBJECT-TYPE
            SYNTAX DisplayString (SIZE(1..31))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                  "Name associated with the reported process."
    ::= { extremeMemoryMonitorEntry 2 }

        extremeMemoryMonitorUsage OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Current memory consumption in Kbytes for the process."
    ::= { extremeMemoryMonitorEntry 3 }

        extremeMemoryMonitorLimit OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Maximum memory consumption in Kbytes for the process."
    ::= { extremeMemoryMonitorEntry 4 }

        extremeMemoryMonitorZone OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..8))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Current process memory consumption zone. Zones are Green (up to 70% cosumption), Yellow (70-80%), Orange (80-90%), Red (90-95%) either total cpu consumption or memory consumption limit configured per process."
    ::= { extremeMemoryMonitorEntry 5 }

    
        extremeMemoryMonitorGreenZoneCount OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Number of times process moved to green zone."
    ::= { extremeMemoryMonitorEntry 6 }

        extremeMemoryMonitorYellowZoneCount OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Number of times process moved from green to yellow zone."
    ::= { extremeMemoryMonitorEntry 7 }


        extremeMemoryMonitorOrangeZoneCount OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Number of times process moved from yellow zone to orange."
    ::= { extremeMemoryMonitorEntry 8 }

        extremeMemoryMonitorRedZoneCount OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Number of times process moved from orange zone to red."
    ::= { extremeMemoryMonitorEntry 9 }

        extremeMemoryMonitorGreenZoneThreshold OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Percentage of memory consumption that defines green zone."
    ::= { extremeMemoryMonitorEntry 10 }

        extremeMemoryMonitorYellowZoneThreshold OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Percentage of memory consumption that defines yellow zone."
    ::= { extremeMemoryMonitorEntry 11 }

        extremeMemoryMonitorOrangeZoneThreshold OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Percentage of memory consumption that defines orange zone."
    ::= { extremeMemoryMonitorEntry 12 }

        extremeMemoryMonitorRedZoneThreshold OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Percentage of memory consumption that defines red zone."
    ::= { extremeMemoryMonitorEntry 13 }


 
  extremeCpuMonitorThreshold OBJECT-TYPE
        SYNTAX INTEGER (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                 "Threshold for CPU Aggregation utilization trap"
    ::= { extremeSwMonitorCpu 5 }

    extremeCpuMonitorCurrentUtilization OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "Cpu utilization value reported in extremeSwMonitorCpuUtilization trap."
   ::= { extremeSwMonitorCpu 6 }


    extremeSwMonitorCpuUtilization NOTIFICATION-TYPE
            OBJECTS { extremeCpuMonitorSlotId,
                      extremeCpuMonitorProcessName,
                      extremeCpuMonitorCurrentUtilization,
                      extremeCpuMonitorThreshold }
            STATUS   current
            DESCRIPTION
            "Notification of process exceeding CPU utilization threshold. Notification is send every extremeCpuMonitorInterval value in seconds until utilization falls below threshold."
        ::= { extremeSwMonitorNotificationsPrefix 1 }


    extremeServiceLicenseExpiryDate OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "This report the expiration date of the license."
   ::= { extremeServiceLicense 1 }

    extremeServiceLicenseType OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "This report the service license type."
   ::= { extremeServiceLicense 2 }

    imageDescription OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "This report the image version on which license was enabled."
   ::= { extremeServiceLicense 3 }

    noOfDaysLeft OBJECT-TYPE
        SYNTAX INTEGER (0..90)
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "This report the number of days left to service license expire."
   ::= { extremeServiceLicense 4 }

    trialPeriod OBJECT-TYPE
        SYNTAX INTEGER (0..90)
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "This report the number of days left to service license expire."
   ::= { extremeTrialLicense 1 }

    extremeServiceLicenseExpiration NOTIFICATION-TYPE
            OBJECTS { extremeServiceLicenseExpiryDate,
                      extremeServiceLicenseType,
                      imageDescription,
                      noOfDaysLeft       
                }
            STATUS   current
            DESCRIPTION
            "The service expiry notification is generated about 90 days service contract expiration, then 60,30,7 days and daily after that."
        ::= { extremeSwMonitorNotificationsPrefix 2 }

    extremeTrialLicenseExpiration NOTIFICATION-TYPE
            OBJECTS { trialPeriod,
                      imageDescription,
                      noOfDaysLeft       
                }
            STATUS   current
            DESCRIPTION
            "Trial license expiry notification is generated every day."
        ::= { extremeSwMonitorNotificationsPrefix 3 }

END

-- ################################################################################

EXTREME-IP-SECURITY-MIB DEFINITIONS ::= BEGIN

      IMPORTS
                MODULE-IDENTITY                                                     FROM SNMPv2-SMI
                OBJECT-TYPE                                                         FROM SNMPv2-SMI
                IpAddress                                                           FROM SNMPv2-SMI
                Counter64                                                           FROM SNMPv2-SMI
                Integer32                                                           FROM SNMPv2-SMI             
                TEXTUAL-CONVENTION, DisplayString, MacAddress, RowStatus            FROM SNMPv2-TC
                InetAddressType, InetAddress , InetPortNumber                       FROM INET-ADDRESS-MIB 
                extremeAgent                                                        FROM EXTREME-BASE-MIB;


     extremeIpSecurity MODULE-IDENTITY
                LAST-UPDATED "200502140000Z"
            ORGANIZATION "Extreme Networks, Inc."
            CONTACT-INFO "www.extremenetworks.com"
            DESCRIPTION "Extreme IP Security MIB"
         ::= { extremeAgent 34 }

     extremeIpSecurityTraps     OBJECT IDENTIFIER
         ::= { extremeIpSecurity 1 }

     extremeIpSecurityTrapsPrefix     OBJECT IDENTIFIER
         ::= { extremeIpSecurityTraps 0 }

     extremeIpSecurityViolation NOTIFICATION-TYPE
        OBJECTS { extremeIpSecurityVlanIfIndex,
                  extremeIpSecurityVlanDescr,
                  extremeIpSecurityPortIfIndex,
                  extremeIpSecurityIpAddr,
                  extremeIpSecurityMacAddress,
                  extremeIpSecurityViolationType }
        STATUS      current
        DESCRIPTION
            "For vlans/ports on which one or more of the IP Security 
            features have been enabled, this trap will be generated when a packet 
            received on that vlan/port is in violation of the configured IP 
            Security protections"
        ::= { extremeIpSecurityTrapsPrefix 1 }
 
     extremeIpSecurityVlanIfIndex OBJECT-TYPE
         SYNTAX Integer32
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "The ifIndex of the VLAN on which the violating packet was received."
         ::= { extremeIpSecurityTraps 1 }

     extremeIpSecurityVlanDescr OBJECT-TYPE
         SYNTAX DisplayString (SIZE(0..32))
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "The description(name) of the VLAN on which the violating packet was received."
         ::= { extremeIpSecurityTraps 2 }

    extremeIpSecurityPortIfIndex  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The ifIndex of the port on which the violating packet was received."
        ::= { extremeIpSecurityTraps 3 }

    extremeIpSecurityIpAddr  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS accessible-for-notify
        STATUS       current
        DESCRIPTION
        "Source IP address of the violating packet"
        ::= { extremeIpSecurityTraps 4 }

    extremeIpSecurityMacAddress  OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "Source MAC address in the violating packet"
        ::= { extremeIpSecurityTraps 5 }

        extremeIpSecurityViolationType OBJECT-TYPE
        SYNTAX  INTEGER {
            rogueDhcpServerPacket(1),
            badIpMacBindingInArpPacket(2),
            badIpInArpPacket(3),
            badMacInArpPacket(4)
        }
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The type of IP Security violation that occurred
            - rogueDhcpServerPacket(1)
                    A rogue DHCP server packet was received.
            - badIpMacBindingInArpPacket(2)
                    The IP-MAC binding received in the ARP packet does not exist in 
                    the DHCP Bindings table.
            - badIpInArpPacket(3)
                    The Source IP address in the ARP payload is invalid.
            - badMacInArpPacket(4)
                    One of the MAC addresses in the ARP payload does not match with
                    its counterpart in the ethernet header."
        ::= { extremeIpSecurityTraps 6 }


--
-- protocol anomaly traps
--

-- internal conventions 

     HexOctet ::= TEXTUAL-CONVENTION
         DISPLAY-HINT    "2x"
         STATUS          current
         DESCRIPTION
            "A single hexidecimal octet used to specify TCP flags" 
         SYNTAX          OCTET STRING (SIZE (2))

     VlanTag ::= TEXTUAL-CONVENTION
         STATUS          current
         DESCRIPTION
            "The tag used when encapsulating packets transmitted" 
         SYNTAX         INTEGER (0..4095) 

    IpProtocol ::= TEXTUAL-CONVENTION
        DISPLAY-HINT    "d"
        STATUS          current
        DESCRIPTION
             "The value of the IP Protocol field of an IP Datagram
              Header. This identifies the protocol layer above IP. For
              example, the value 6 is used for TCP and the value 17 is used
              for UDP.  The values of this field are defined in the Assigned
              Numbers RFC."
        SYNTAX          INTEGER {
                        unknown(0),
                        icmp(1),
                        tcp(6),
                        udp(17)
                    }

    TcpFlagAnomalyReason ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
           " 1) (TCP flag SYN is set) and (its TCP source port < 1024). OR   
             2) (TCP flag == 0) and (TCP seq # == 0). OR   
             3) (TCP flag FIN/URG/PSH bits sre set) and (TCP seq # == 0). OR   
             4) Both TCP iflag SYN and FIN are set" 
        SYNTAX          INTEGER {
                        unknown(0),
                        flagSynAndSrcPort(1),
                        flagAndSeq(2),
                        flagFinAndUrgAandPshandSeq(3),
                        flagSynAndFin(4)
                    }

    IcmpAnomalyReason ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
           " 1) the size of ICMP is large than pre-configured allowed size  
             2) Fragmented ICMP packet" 
        SYNTAX          INTEGER {
                        unknown(0),
                        icmpOverSize(1),
                        icmpFragmented(2)
                    }

    TcpFragmentAnomalyReason ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
           " 1) TCP packet and incompleted TCP header (IP payload less tahn MIN_TCP_HDR_SIZE)   
             2) Fragmented TCP packet (IP fragment offset = 1) " 
        SYNTAX          INTEGER {
                        unknown(0),
                        tcpHdrLessSize(1),
                        tcpFragmented(2)
                    }

-- anomaly traps

     extremeIpSecurityAnomalyTraps     OBJECT IDENTIFIER
         ::= { extremeIpSecurity 2 }

     extremeIpSecurityAnomalyTrapsPrefix     OBJECT IDENTIFIER
         ::= { extremeIpSecurityAnomalyTraps 0 }


-- anomaly ip address traps

     extremeIpSecurityAnomalyIpViolation NOTIFICATION-TYPE
        OBJECTS { esAnomalyPortIfIndex, 
                  esAnomalyVlanIfIndex,
                  esAnomalyVlanDescr,
                  esAnomalySrcMacAddress,
                  esAnomalyDestMacAddress,
                  esAnomalyVlanTag,
                  esAnomalySrcIpAddrType,
                  esAnomalySrcIpAddr,
                  esAnomalyDestIpAddrType,
                  esAnomalyDestIpAddr,
                  esAnomalyIpProto} 
        STATUS      current
        DESCRIPTION
            "For ports on which the protocol anomaly protection IP 
            features has been enabled, this trap will be generated when a packet 
            received on that port if the packet's source IP == destination IP" 
        ::= { extremeIpSecurityAnomalyTrapsPrefix  1 }


-- anomaly L4port traps

     extremeIpSecurityAnomalyL4PortViolation NOTIFICATION-TYPE
        OBJECTS { esAnomalyPortIfIndex, 
                  esAnomalyVlanIfIndex,
                  esAnomalyVlanDescr,
                  esAnomalySrcMacAddress,
                  esAnomalyDestMacAddress,
                  esAnomalyVlanTag,
                  esAnomalySrcIpAddrType,
                  esAnomalySrcIpAddr,
                  esAnomalyDestIpAddrType,
                  esAnomalyDestIpAddr,
                  esAnomalyIpProto,
                  esAnomalySrcL4Port,
                  esAnomalyDestL4Port} 
        STATUS    current
        DESCRIPTION
            "For ports on which the protocol anomaly protection L4port 
            features has been enabled, this trap will be generated when a packet 
            received on that port if 
            1) the packet is a TCP or UDP packetr.  AND 
            2) its source L4 port == destination port" 
        ::= { extremeIpSecurityAnomalyTrapsPrefix 2 }


-- anomaly TCP flags trap 

     extremeIpSecurityAnomalyTcpFlagViolation NOTIFICATION-TYPE
        OBJECTS { esAnomalyPortIfIndex, 
                  esAnomalyVlanIfIndex,
                  esAnomalyVlanDescr,
                  esAnomalySrcMacAddress,
                  esAnomalyDestMacAddress,
                  esAnomalyVlanTag,
                  esAnomalySrcIpAddrType,
                  esAnomalySrcIpAddr,
                  esAnomalyDestIpAddrType,
                  esAnomalyDestIpAddr,
                  esAnomalySrcL4Port,
                  esAnomalyDestL4Port,
                  esAnomalyTcpFlagReason,
                  esAnomalyTcpFlag,
                  esAnomalyTcpSeq} 
        STATUS    current
        DESCRIPTION
            "For ports on which the protocol anomaly protection TCP flags 
            features has been enabled, this trap will be generated when a TCP 
            packet received on that port if 
            1) (TCP flag SYN is set) and (its TCP source port < 1024). OR   
            2) (TCP flag == 0) and (TCP seq # == 0). OR   
            3) (TCP flag FIN/URG/PSH bits sre set) and (TCP seq # == 0). OR   
            4) Both TCP iflag SYN and FIN are set" 
        ::= { extremeIpSecurityAnomalyTrapsPrefix  3 }


-- anomaly fragmented TCP trap 

     extremeIpSecurityAnomalyTcpFragmentViolation NOTIFICATION-TYPE
        OBJECTS { esAnomalyPortIfIndex, 
                  esAnomalyVlanIfIndex,
                  esAnomalyVlanDescr,
                  esAnomalySrcMacAddress,
                  esAnomalyDestMacAddress,
                  esAnomalyVlanTag,
                  esAnomalySrcIpAddrType,
                  esAnomalySrcIpAddr,
                  esAnomalyDestIpAddrType,
                  esAnomalyDestIpAddr,
                  esAnomalyTcpFragmentReason,
                  esAnomalyTcpHdrSize}
        STATUS    current
        DESCRIPTION
            "For ports on which the protocol anomaly protection TCP fragment 
            features has been enabled, this trap will be generated when a packet 
            received on that port if 
            1) the packet is a TCP, and its size of the TCP header is less than pre-configured value; or
            2) the packet is a TCP and it is a IP fragmented packet (IP offset != 0)" 
        ::= { extremeIpSecurityAnomalyTrapsPrefix  4 }


-- anomaly ICMP trap 

     extremeIpSecurityAnomalyIcmpViolation NOTIFICATION-TYPE
        OBJECTS { esAnomalyPortIfIndex, 
                  esAnomalyVlanIfIndex,
                  esAnomalyVlanDescr,
                  esAnomalySrcMacAddress,
                  esAnomalyDestMacAddress,
                  esAnomalyVlanTag,
                  esAnomalySrcIpAddrType,
                  esAnomalySrcIpAddr,
                  esAnomalyDestIpAddrType,
                  esAnomalyDestIpAddr,
                  esAnomalyIcmpReason}
        STATUS    current
        DESCRIPTION
            "For ports on which the protocol anomaly protection ICMP 
            features has been enabled, this trap will be generated when an ICMP 
            packet received on that port if 
            1) the size of ICMP (IP payload) is large thant pre-configured value; or   
            2) it is a fragmented IP/ICMP packet (IP offset != 0)" 
        ::= { extremeIpSecurityAnomalyTrapsPrefix  5 }


-- internal objects

     esAnomalyPortIfIndex  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The ifIndex of the port on which the violating packet was received."
        ::= { extremeIpSecurityAnomalyTraps  1 }

     esAnomalyVlanIfIndex OBJECT-TYPE 
         SYNTAX Integer32
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "The ifIndex of the VLAN on which the violating packet was received."
         ::= { extremeIpSecurityAnomalyTraps  2 }

     esAnomalyVlanDescr OBJECT-TYPE
         SYNTAX DisplayString (SIZE(0..32))
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "The description(name) of the VLAN on which the violating packet was received."
         ::= { extremeIpSecurityAnomalyTraps  3 }

     esAnomalySrcMacAddress OBJECT-TYPE
         SYNTAX MacAddress
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "Source MAC address in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  4 }

     esAnomalyDestMacAddress OBJECT-TYPE
         SYNTAX MacAddress
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "Destination MAC address in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  5 }

     esAnomalySrcIpAddrType OBJECT-TYPE
         SYNTAX InetAddressType 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "source IP address type: ipv4 or ipv6"
         ::= { extremeIpSecurityAnomalyTraps  6 }

     esAnomalySrcIpAddr OBJECT-TYPE
         SYNTAX InetAddress 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "source IP address in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  7 }

     esAnomalyDestIpAddrType OBJECT-TYPE
         SYNTAX InetAddressType 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "destination IP address type: ipv4 or ipv6"
         ::= { extremeIpSecurityAnomalyTraps  8 }

     esAnomalyDestIpAddr OBJECT-TYPE
         SYNTAX InetAddress 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "destination IP address in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  9 }

     esAnomalyIpProto OBJECT-TYPE
         SYNTAX IpProtocol 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "IP protocol in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  10 }

     esAnomalySrcL4Port OBJECT-TYPE
         SYNTAX InetPortNumber 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "tcp/udp source port number in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  11 }

     esAnomalyDestL4Port OBJECT-TYPE
         SYNTAX InetPortNumber 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "tcp/udp destination port in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  12 }


     esAnomalyTcpFlag OBJECT-TYPE
         SYNTAX       HexOctet 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "TCP flags in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  13 }

     esAnomalyTcpSeq OBJECT-TYPE
         SYNTAX       Integer32 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "TCP sequence number in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  14 }

     esAnomalyTcpHdrSize OBJECT-TYPE
         SYNTAX       Integer32 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "TCP Header size in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  15 }

     esAnomalyTcpFlagReason OBJECT-TYPE
         SYNTAX       TcpFlagAnomalyReason 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "TCP flag anomaly reason code"
         ::= { extremeIpSecurityAnomalyTraps  16 }

     esAnomalyIcmpReason OBJECT-TYPE
         SYNTAX       IcmpAnomalyReason 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "ICMP anomaly reason code"
         ::= { extremeIpSecurityAnomalyTraps  17 }

     esAnomalyVlanTag OBJECT-TYPE
         SYNTAX       VlanTag 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "the vlan tag in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  18 }


     esAnomalyTcpFragmentReason OBJECT-TYPE
         SYNTAX       TcpFragmentAnomalyReason 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "TCP fragment anomaly reason code"
         ::= { extremeIpSecurityAnomalyTraps  19 }

END

-- ################################################################################

EXTREME-UPM-MIB DEFINITIONS ::= BEGIN

    IMPORTS 
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
         mib-2, Counter32, Unsigned32, Integer32,
         Gauge32    FROM SNMPv2-SMI
        DisplayString   FROM RFC1213-MIB
                extremeAgent   FROM EXTREME-BASE-MIB
                IpAddress       FROM SNMPv2-SMI;

   


    extremeUpm     MODULE-IDENTITY
                LAST-UPDATED "200402140000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme universal port management mib"
        ::= { extremeAgent 35 }


-- definition of UPM trap notifications.

upmNotificationTrap OBJECT IDENTIFIER
     ::= { extremeUpm 1 }
upmConfig  OBJECT IDENTIFIER
     ::= { extremeUpm 2 }

upmProfileEventExecution NOTIFICATION-TYPE
            OBJECTS { upmProfileName,
              upmExecutionId,
              upmEventType,
              upmExecutionStatus,
              upmPort,
              upmProfileExecVars,
              upmTimerName
            }
            STATUS      current
        DESCRIPTION
                "This trap will be generated, when a profile is executed."
                ::= { upmNotificationTrap 1 }

upmProfileName OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..32))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The textual string identifying the name of the profile."
    ::= { upmConfig 1 }

upmExecutionId OBJECT-TYPE
    SYNTAX Unsigned32 (1..4294967296)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The value uniquely identifies the execution of a UPM profile. Switch stores history of 100 last run executions."
    ::= { upmConfig 2 }


upmEventType OBJECT-TYPE
    SYNTAX INTEGER {
        devicedetect(1),
        deviceundetect(2),
        userauthenticated(3),
        userunauthenticated(4),
        upmTimer(5),
        userrequest(7)
    }
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The type of the event that triggered the profile execution."
    ::= { upmConfig 3 }

upmExecutionStatus OBJECT-TYPE
    SYNTAX INTEGER {
        success (1),
        failure (2)
    }
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The state of the profile execution."

    ::= { upmConfig 4 }

upmPort OBJECT-TYPE
    SYNTAX INTEGER (1..4294967296)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The ifIndex of the port on which the profile was run. 
     Is non-zero only when there is a valid port associated when 
     the profile was run with the event. For ex: When a timer 
     fires, the port may not be valid parameter"

    ::= { upmConfig 5 }

upmProfileExecVars OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..33))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The textual string identifying the variables that were set when executing the profile."
    ::= { upmConfig 6 }


upmTimerName OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..32))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The textual string identifying the timer fired when executing the profile."
    ::= { upmConfig 7 }

END

-- ################################################################################

A3COM51-SS9000SX DEFINITIONS ::= BEGIN

-- 
-- 3Com - ss9000 Private MIB
-- 
-- Copyright (c) 1997 by 3Com
-- 
-- 
-- HISTORY LOG
-- ===========
-- 03/20/97  GWH - Created v0.1 - This MIB is under contruction
--                              and is subject to change.
-- 05/16/97  GWH - Add PACE, trap destination & security tables.
-- 06/05/97  GWH - Move mib to brighton enterprise branch.  Remove
--                  unused objects.  Add 64 bit counters as 32 bit pairs.
-- 06/10/97  GWH - Move traps to superStackSwitch9000SX-mib id.  Remove unused
--                  objects.  Prefix all tables with ss9000 to avoid conflicts.
-- 06/11/97  GWH - Fix compilation errors.  Move traps to extreme identifier.
--                  Import sysDescr, sysUpTime.
-- 12/06/97  P.Biti - Fixed mismatching names and realigned tabs
-- 30/06/97  PB  - Taken out security portion as it did not contain
--                 an object for community string.  Improved descriptions
-- 10/07/97  PB  - issued. Changed integer to counter in ss9000PortTable
--                 changed Ss9000PortTable name to ss9000PortTable
--                 deleted trap destination table - switch now supporting
--                 table in rfc 2021.
-- 22/07/97  PB  -  Changed MIB definition title from superstackswitch9000sx to A3Com51. Taken 
--                           out spurious imports.  Changed ss9000PortIndex type to INTEGER.
-- 07/24/97  GWH - Add configuration save and check object
-- 06-aug-97 AHS - Add MAU-type definitions per e-mail from PB 06-aug-97
-- 20-aug-97 AHS - Add invalidLoginAttempt trap
--

     IMPORTS
        enterprises, Counter
     FROM RFC1155-SMI
        sysUpTime, sysDescr
     FROM RFC1213-MIB
        TRAP-TYPE
     FROM RFC-1215
        OBJECT-TYPE
     FROM RFC-1212;

-- 
--  Organization & Product branches
-- 
    extreme         OBJECT IDENTIFIER ::= { enterprises 1916 }
    a3Com           OBJECT IDENTIFIER ::= { enterprises 43 }
    products        OBJECT IDENTIFIER ::= { a3Com 1 }
    hub             OBJECT IDENTIFIER ::= { products 8 }

    superStackSwitch9000SX OBJECT IDENTIFIER ::=     { hub 32 }
    superStackSwitch3800 OBJECT IDENTIFIER ::=     { hub 34 }
        superStackSwitch9100 OBJECT IDENTIFIER ::=              { hub 36 }
    superStackSwitch9000SX-mib OBJECT IDENTIFIER ::= { a3Com 27 }
   
-- 
-- Traps
-- 
          overheat TRAP-TYPE
              ENTERPRISE  extreme
              VARIABLES   { sysUpTime, sysDescr }
              DESCRIPTION
                          "A overheat trap indicates that the on board
                          tempature sensor has reported a overheat 
                          condition.  System will shutdown until unit has
                                                  suficiently cooled such that operation may begin
                          again.  A cold start trap will be issued when
                          the unit has come back on line."                                                                          
              ::= 1

          fanfailed TRAP-TYPE
              ENTERPRISE  extreme
              VARIABLES   { sysUpTime, sysDescr }
              DESCRIPTION
                          "A fan failed trap indicates one or more of the
                          cooling fans inside the device has failed.  A
                          fanOK trap will be sent once the fan has attained
                          normal operation."
              ::= 2

          fanOK TRAP-TYPE
              ENTERPRISE  extreme
              VARIABLES   { sysUpTime, sysDescr }
              DESCRIPTION
                          "A fan has tansitioned out of a failure state and
                          is now operating correctly."
              ::= 3

          invalidLoginAttempt TRAP-TYPE
              ENTERPRISE  extreme
              VARIABLES   { sysUpTime, sysDescr }
              DESCRIPTION
                          "A user attempted to login to console or by telnet but was refused
                           access due to incorrect username or password"
              ::= 4

-- 
-- superStackSwitch 9000SX-mib objects
-- 

                ss9000UnitPaceMode OBJECT-TYPE
                SYNTAX INTEGER {
                notApplicable(1),
                normalEthernet(2),
                lowLatency(3)
                        }
            ACCESS      read-write
            STATUS mandatory
            DESCRIPTION
                "This object specifies the type of backoff algorithm.  
                Any port can use the standard ethernet
                algorithm or, for PACE applications, it can be set into low
                latency mode.  In this mode, the backoff algorithm is optimized
                to minimize the possibility of collisions.
                
                PACE mode can be set for the whole unit only."
                        ::= { superStackSwitch9000SX-mib 1 }                
                                


-- 
--  superStackSwitch9000SX-mib PORT counters - NOTE: A "get" op on any 
--  of these objects will return the current value of the counter 
--  from the Hardware.
-- 
        
            ss9000PortTable OBJECT-TYPE
                    SYNTAX   SEQUENCE OF Ss9000PortTableEntry
                    ACCESS   not-accessible
                    STATUS   mandatory
            DESCRIPTION
                "The port management table."
                ::= { superStackSwitch9000SX-mib 2 }

                ss9000PortTableEntry OBJECT-TYPE
                    SYNTAX   Ss9000PortTableEntry
                    ACCESS   not-accessible
                    STATUS   mandatory
                    DESCRIPTION
                         "This table contains pairs of 32-bit counters which
                    map to RMON 2 64-bit counters"
                    INDEX    { ss9000PortIndex }
                    ::= { ss9000PortTable 1 }

                 Ss9000PortTableEntry ::=
                      SEQUENCE {
                 ss9000PortIndex                   INTEGER,
                        ss9000PortRxPktCtLow         Counter,
                        ss9000PortRxPktCtHigh        Counter,
                        ss9000PortRxByteCtLow        Counter,
                        ss9000PortRxByteCtHigh       Counter,
                        ss9000PortTxPktCtLow         Counter,
                        ss9000PortTxPktCtHigh        Counter,
                        ss9000PortTxByteCtLow        Counter,
                        ss9000PortTxByteCtHigh       Counter
                 }

                ss9000PortIndex OBJECT-TYPE
                        SYNTAX   INTEGER
                    ACCESS   read-only
                    STATUS   mandatory
                    DESCRIPTION
                       "The index of this table entry."
                    ::= { ss9000PortTableEntry 1 }


        ss9000PortRxPktCtLow OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The lower 32 bits of the 64 bit receive packet counter 
                for this port"
            ::= { ss9000PortTableEntry 2 }
                            
        ss9000PortRxPktCtHigh  OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The upper 32 bits of the 64 bit receive packet counter 
                for this port"
            ::= { ss9000PortTableEntry 3 }

        ss9000PortRxByteCtLow  OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The lower 32 bits of the 64 bit receive byte counter 
                for this port"
            ::= { ss9000PortTableEntry 4 }

        ss9000PortRxByteCtHigh OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The upper 32 bits of the 64 bit receive byte counter 
                for this port"
            ::= { ss9000PortTableEntry 5 }

        ss9000PortTxPktCtLow OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The lower 32 bits of the 64 bit transmit packet counter 
                for this port"
            ::= { ss9000PortTableEntry 6 }
                            
        ss9000PortTxPktCtHigh  OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The upper 32 bits of the 64 bit transmit packet counter 
                for this port"
            ::= { ss9000PortTableEntry 7 }

        ss9000PortTxByteCtLow  OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The lower 32 bits of the 64 bit transmit byte counter 
                for this port"
            ::= { ss9000PortTableEntry 8 }

        ss9000PortTxByteCtHigh OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The upper 32 bits of the 64 bit transmit byte counter 
                for this port"
            ::= { ss9000PortTableEntry 9 }

--
--      Configuration save objects.  These objects are used by the network
--  management application to save configuration changes into the
--  persistant store.  There are 2 stores on the SS9000; a primary and
--  a secondary.
--

                ss9000SaveConfiguration OBJECT-TYPE
                SYNTAX INTEGER {
                saveToPrimary(1),
                saveToSecondary(2)
                        }
            ACCESS      write-only
            STATUS mandatory
            DESCRIPTION
                "When this object is set, the device will copy the contents
                                of the configuration database to a buffer and save it to the 
                                persistant store specified by the value of the object.  The 
                                save is performed asynchronously, and the snmp agent will continue
                                to respond to both gets and sets while the save is taking
                                place.  A network management application may use the
                                ss9000SaveStatus object to determine when the asynchronous
                                save operation has completed."
                        ::= { superStackSwitch9000SX-mib 3 }                

                ss9000SaveStatus OBJECT-TYPE
                SYNTAX INTEGER {
                saveInProgress(1),
                saveNotInProgress(2)
                        }
            ACCESS      read-only
            STATUS mandatory
            DESCRIPTION
                "This object will return the status of a save operation invoked
                                by setting the ss9000SaveConfiguration object.  A network
                                management application can read this object to determine that a
                                save operation has completed."
                        ::= { superStackSwitch9000SX-mib 4 }                


--
-- We place here some OIDs for as-yet-unstandardised 802.3 MAU types
--     (see MAU MIB for usages)
--

          ss9000MauType
              OBJECT IDENTIFIER ::= { superStackSwitch9000SX-mib 5 }

--                      "X fiber over short-wavelength laser PMD as specified
--                        in clause 38, duplex mode unknown"
          ss9000MauType1000BaseSX OBJECT IDENTIFIER
              ::= { ss9000MauType 1 }



END     



-- ################################################################################

EXTREME-CABLE-MIB DEFINITIONS ::= BEGIN

    IMPORTS  
        MODULE-IDENTITY     FROM SNMPv2-SMI
                OBJECT-TYPE         FROM SNMPv2-SMI
        TruthValue          FROM SNMPv2-TC
                extremeAgent        FROM EXTREME-BASE-MIB
                extremeV2Traps          FROM EXTREME-BASE-MIB
        extremenetworks         FROM EXTREME-BASE-MIB
                DisplayString       FROM RFC1213-MIB
                NOTIFICATION-TYPE       FROM SNMPv2-SMI;
            
    extremeCable MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme-specific Cable objects"
        ::= { extremeAgent 24 }

        extremeDiagConfigGroup OBJECT IDENTIFIER
        ::= { extremeCable 1 }

        extremeDiagConfigTime OBJECT-TYPE
                SYNTAX DisplayString  (SIZE(16))
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                "Indicates the time at which the Diagnostics information 
                 will be collected for the ports which have 
                 Auto-Diagnostics configured. Time must be given in hh:mm:ss format
                 where hh, mm and ss are in decimals"
                ::= { extremeDiagConfigGroup 1  }
                
        extremeDiagConfigRoF OBJECT-TYPE
                SYNTAX INTEGER {true (1), false (2)}
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                "Indicates whether a port should return to INIT state on 
                 Diagnostics Failure. If TRUE the port will be restarted 
                 even if the Diagnostics indicate a Failure. If FALSE the 
                 port will be moved to DIAG_FAIL state"
                ::= { extremeDiagConfigGroup 2  }

        extremeDiagPortConfigTable OBJECT-TYPE
                SYNTAX SEQUENCE OF ExtremeDiagPortCfgEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                "Table, which contains the diagnostic configuration 
                 information for the ports"
                ::= { extremeCable 2  }

        extremeDiagPortConfigEntry OBJECT-TYPE
                SYNTAX ExtremeDiagPortCfgEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                "Each row represents port related diagnostics 
                 configuration"
                INDEX { extremeDiagPortCfgPortIfIndex, extremeDiagPortCfgMode }
                ::= { extremeDiagPortConfigTable 1  }

        ExtremeDiagPortCfgEntry ::=
                SEQUENCE {
                                extremeDiagPortCfgPortIfIndex
                                        INTEGER,
                                extremeDiagPortCfgMode
                                        INTEGER,
                                extremeDiagPortCfgStatus
                                        INTEGER 
                        }

        extremeDiagPortCfgPortIfIndex OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "IfIndex of the Port for which the information in this row applies"
                ::= { extremeDiagPortConfigEntry 1  }

        extremeDiagPortCfgMode OBJECT-TYPE
                SYNTAX INTEGER {auto (1), manual (2)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The mode of operation. The port can be configured to have
                 either manual diagnostics or auto-diagnostics collected."
                ::= { extremeDiagPortConfigEntry 2 }

        extremeDiagPortCfgStatus OBJECT-TYPE
                SYNTAX INTEGER {enable (1), disable (2), run (3), diagfail(4)}
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                "Specifies whether Diagnostics are enabled or disabled for 
                 the port. In the manual mode, enable and disable will disable the
                 corresponding bit in the manual Diag portmask. Once the run command is
                 given the Manual Diagnostics starts running. <diagfail> indicates the
                 diagnostics for the port has failed. <diagfail> is a read-only value and
                 cannot be used for setting the status of the port"
                ::= { extremeDiagPortConfigEntry 3  }

    extremeDiagPortDiagTable OBJECT-TYPE
                SYNTAX SEQUENCE OF ExtremeDiagPortDiagEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                 "Table contains the diagnostic information for the ports"
                ::= { extremeCable 3  }

        extremeDiagPortDiagEntry OBJECT-TYPE
                SYNTAX ExtremeDiagPortDiagEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                 "Each row represents port related diagnostics information"
                INDEX { extremeDiagPortDiagPortIfIndex, extremeDiagPortDiagMode }
                ::= { extremeDiagPortDiagTable 1 }

        ExtremeDiagPortDiagEntry ::=
                SEQUENCE {
                                extremeDiagPortDiagPortIfIndex
                                        INTEGER,
                                extremeDiagPortDiagMode
                                        INTEGER,
                                extremeDiagPortSpeed
                                    INTEGER,
                                extremeDiagPortSwapAB
                                        INTEGER,
                                extremeDiagPortSwapCD
                                        INTEGER,
                                extremeDiagPortPairAPol
                                        INTEGER,
                                extremeDiagPortPairAFlen
                                        INTEGER,
                                extremeDiagPortPairALen
                                        INTEGER,
                                extremeDiagPortPairASkew
                                        INTEGER,
                                extremeDiagPortPairAStatus
                                        INTEGER,
                                extremeDiagPortPairBPol
                                        INTEGER,
                                extremeDiagPortPairBFlen
                                        INTEGER,
                                extremeDiagPortPairBLen
                                        INTEGER,
                                extremeDiagPortPairBSkew
                                        INTEGER,
                                extremeDiagPortPairBStatus
                                        INTEGER,
                                extremeDiagPortPairCPol
                                        INTEGER,
                                extremeDiagPortPairCFlen
                                        INTEGER,
                                extremeDiagPortPairCLen
                                        INTEGER,
                                extremeDiagPortPairCSkew
                                        INTEGER,
                                extremeDiagPortPairCStatus
                                        INTEGER,
                                extremeDiagPortPairDPol
                                        INTEGER,
                                extremeDiagPortPairDFlen
                                        INTEGER,
                                extremeDiagPortPairDLen
                                        INTEGER,
                                extremeDiagPortPairDSkew
                                        INTEGER,
                                extremeDiagPortPairDStatus
                                        INTEGER,
                                extremeDiagPortDateTime
                                    DisplayString       
                        }

        extremeDiagPortDiagPortIfIndex OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "IfIndex of the Port for which the information in this row applies"
                ::= { extremeDiagPortDiagEntry 1  }

        extremeDiagPortDiagMode OBJECT-TYPE
                SYNTAX INTEGER {auto (1), manual (2)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The mode of operation. The port can be configured to have
                 either manual diagnostics or auto-diagnostics collected."
                ::= { extremeDiagPortDiagEntry 2 }

        extremeDiagPortSpeed OBJECT-TYPE
                SYNTAX INTEGER { speed10 (1), speed100 (2), speed1000 (3), unknown (4)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the speed of the port"
                ::= { extremeDiagPortDiagEntry 3  }

        extremeDiagPortSwapAB OBJECT-TYPE
                SYNTAX INTEGER {swap(1), noswap(2), unknown(3)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies whether pairA pairB cables are swapped"
                ::= { extremeDiagPortDiagEntry 4  }

        extremeDiagPortSwapCD OBJECT-TYPE
                SYNTAX INTEGER {swap(1), noswap(2), unknown(3)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies whether pairC and pairD cables are swapped"
                ::= { extremeDiagPortDiagEntry 5  }

        extremeDiagPortPairAPol OBJECT-TYPE
                SYNTAX INTEGER {positive(1), negative(2), unknown(3)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the polarity of pairA cables"
                ::= { extremeDiagPortDiagEntry 6  }

        extremeDiagPortPairAFlen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the distance of Fault in the pairA cables"
                ::= { extremeDiagPortDiagEntry 7  }

        extremeDiagPortPairALen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the length of the pairA cables"
                ::= { extremeDiagPortDiagEntry 8  }

        extremeDiagPortPairASkew OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Skew of pairA cables with respect to the fastest pair"
                ::= { extremeDiagPortDiagEntry 9  }

        extremeDiagPortPairAStatus OBJECT-TYPE
                SYNTAX INTEGER {open(1), short(2), terminated(3), imperror(4), unknown(5)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Indicates whether pairA cables are properly terminated, 
                 short or open"
                ::= { extremeDiagPortDiagEntry 10  }

        extremeDiagPortPairBPol OBJECT-TYPE
                SYNTAX INTEGER {positive(1), negative(2), unknown(3)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the polarity of pairB cables"
                ::= { extremeDiagPortDiagEntry 11  }

        extremeDiagPortPairBFlen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the distance of Fault in the pairB cables"
                ::= { extremeDiagPortDiagEntry 12  }

        extremeDiagPortPairBLen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the length of the pairB cables"
                ::= { extremeDiagPortDiagEntry 13  }

        extremeDiagPortPairBSkew OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Skew of pairB cables with respect to the fastest pair"
                ::= {  extremeDiagPortDiagEntry 14 }

        extremeDiagPortPairBStatus OBJECT-TYPE
                SYNTAX INTEGER {open(1), short(2), terminated(3), imperror(4), unknown(5)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Indicates whether pairB cables are properly terminated, 
                 short or open"
                ::= { extremeDiagPortDiagEntry 15 }

        extremeDiagPortPairCPol OBJECT-TYPE
                SYNTAX INTEGER {positive(1), negative(2), unknown(3)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the polarity of pairC cables"
                ::= { extremeDiagPortDiagEntry 16  }

        extremeDiagPortPairCFlen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the distance of Fault in the pairC cables"
                ::= { extremeDiagPortDiagEntry 17  }

        extremeDiagPortPairCLen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the length of the pairC cables"
                ::= { extremeDiagPortDiagEntry 18 }

        extremeDiagPortPairCSkew OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Skew of pairC cables with respect to the fastest pair"
                ::= { extremeDiagPortDiagEntry 19 }

        extremeDiagPortPairCStatus OBJECT-TYPE
                SYNTAX INTEGER {open(1), short(2), terminated(3), imperror(4), unknown(5)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Indicates whether pairC cables are properly terminated, 
                 short or open"
                ::= {  extremeDiagPortDiagEntry 20}

        extremeDiagPortPairDPol OBJECT-TYPE
                SYNTAX INTEGER {positive(1), negative(2), unknown(3)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the polarity of pairD cables"
                ::= { extremeDiagPortDiagEntry 21  }

        extremeDiagPortPairDFlen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the distance of Fault in the pairD cables"
                ::= { extremeDiagPortDiagEntry 22  }

        extremeDiagPortPairDLen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the length of the pairD cables"
                ::= { extremeDiagPortDiagEntry 23 }

        extremeDiagPortPairDSkew OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Skew of pairD cables with respect to the fastest pair"
                ::= { extremeDiagPortDiagEntry 24 }

        extremeDiagPortPairDStatus OBJECT-TYPE
                SYNTAX INTEGER {open(1), short(2), terminated(3), imperror(4), unknown(5)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Indicates whether pairD cables are properly terminated, 
                 short or open"
                ::= { extremeDiagPortDiagEntry 25 }

        extremeDiagPortDateTime OBJECT-TYPE
                SYNTAX DisplayString  (SIZE(64))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Date and time at which the Diagnostic information was 
                 collected"
                ::= { extremeDiagPortDiagEntry 26 }

        extremeDiagPortStatsTable  OBJECT-TYPE
                SYNTAX SEQUENCE OF ExtremeDiagPortStatsEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                "Table, which contains the diagnostic statistic information
                 for the ports"
                ::= { extremeCable 4  }

        extremeDiagPortStatsEntry OBJECT-TYPE
                SYNTAX ExtremeDiagPortStatsEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                "Each row represents port related diagnostics statistics
                 information"
                INDEX { extremeDiagPortStatsPortIfIndex }
                ::= { extremeDiagPortStatsTable 1 }

        ExtremeDiagPortStatsEntry ::=
                SEQUENCE {
                                extremeDiagPortStatsPortIfIndex
                                        INTEGER,
                                extremeDiagPortStatsNumDiag
                                        INTEGER,
                                extremeDiagPortStatsNumSuccess
                                        INTEGER,
                                extremeDiagPortStatsNumFail
                                        INTEGER,
                                extremeDiagPortStatsNumChange
                                        INTEGER,
                                extremeDiagPortStatsNumAbort
                                        INTEGER
                        }

        extremeDiagPortStatsPortIfIndex OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "IfIndex of the Port for which the information in this row applies"
                ::= { extremeDiagPortStatsEntry 1  }

        extremeDiagPortStatsNumDiag OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Number of times Diagnostics information collected for this
                 port"
                ::= {   extremeDiagPortStatsEntry 2 }

        extremeDiagPortStatsNumSuccess OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Number of times Diagnostics for this port completed 
                 successfully without any errors"
                ::= {   extremeDiagPortStatsEntry 3 }

        extremeDiagPortStatsNumFail OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Number of times Diagnostics for this port Failed due to 
                 errors in the cable pairs"
                ::= {   extremeDiagPortStatsEntry 4 }

        extremeDiagPortStatsNumChange OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Number of times Diagnostics Changed for this port"
                ::= {   extremeDiagPortStatsEntry 5 }

        extremeDiagPortStatsNumAbort OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Number of times Diagnostics was aborted by the user for this port"
                ::= {   extremeDiagPortStatsEntry 6 }

--TRAPS MIB Definitions for CDM
  
--   extremeTrapDiagPortDiagnostics     TRAP-TYPE
--   ENTERPRISE  extremenetworks
--   VARIABLES   {extremeDiagPortCfgPortIfIndex, extremeDiagPortCfgMode, extremeDiagPortCfgStatus}
--   DESCRIPTION
--        "Indicates the status of Diagnostics for a port. The status indicates 
--        whether Diagnostics for a particular port failed"
--   ::= 22

   extremeCableTraps    OBJECT IDENTIFIER
        ::= { extremeV2Traps 13 }

   extremeCableTrapsPrefix   OBJECT IDENTIFIER
        ::= { extremeCableTraps 0 }

   extremeTrapDiagPortDiagnostics       NOTIFICATION-TYPE
        OBJECTS   {extremeDiagPortCfgPortIfIndex, extremeDiagPortCfgMode, extremeDiagPortCfgStatus}
      STATUS current
      DESCRIPTION
          "Indicates the status of Diagnostics for a port. The status indicates 
          whether Diagnostics for a particular port failed"
      ::= { extremeCableTrapsPrefix 1 }

END

-- ################################################################################

EXTREME-DLCS-MIB DEFINITIONS ::= BEGIN

    IMPORTS
                MODULE-IDENTITY, OBJECT-TYPE, IpAddress, TimeTicks
                                FROM SNMPv2-SMI
                TruthValue      FROM SNMPv2-TC
        DisplayString   FROM RFC1213-MIB
                extremeAgent
                                FROM EXTREME-BASE-MIB;

        extremeDlcs MODULE-IDENTITY
                LAST-UPDATED "9903040000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION 
                        "Extreme Dynamic-Link Context System (DLCS) status objects"
        ::= { extremeAgent 8 }


--
-- Enable/disable DLCS
--
    extremeDlcsEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will allow the agent to start 
                        collecting DLCS binding information."
    ::= { extremeDlcs 1 }

    extremeDlcsNetbiosEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will allow the agent to start 
                        collecting DLCS binding information using the
                        NetBios protocol."
    ::= { extremeDlcs 2 }

    extremeDlcsKerberos5Enable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will allow the agent to start 
                        collecting DLCS binding information using the
                        Kerberos V5 protocol."
    ::= { extremeDlcs 3 }

    extremeDlcsRsvpEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will allow the agent to start 
                        collecting DLCS binding information using the RSVP
                        protocol."
    ::= { extremeDlcs 4 }

    extremeDlcsDnsEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will allow the agent to start 
                        collecting DLCS binding information using the
                        DNS protocol."
    ::= { extremeDlcs 5 }

--
-- DLCS Binding Table
--
--
-- How is this table used?
-- 
-- (1) Manager creates extremeSmartTrapRulesEntry with
-- extremeSmartTrapRulesIndex = XXXX
-- extremeSmartTrapRulesDesiredOID = extremeDlcsBindingTable
-- extremeSmartTrapRulesOperation = any
-- 
-- (2) Events are reported by agent creating a extremeSmartTrapInstanceEntry with:
-- 
-- extremeSmartTrapInstanceRule = XXXX
-- extremeSmartTrapInstanceChangedOid = extremeDlcsBindingIndex
-- extremeSmartTrapInstanceActualOperation = add, delete or modify
-- 
-- and generating the actual trap.
-- 

        extremeDlcsBindingTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF ExtremeDlcsBindingEntry
        MAX-ACCESS  not-accessible
        STATUS      current
                DESCRIPTION
                "Table of DLCS Binding information. Entries are added and deleted
                by the agent based on information gathered from the local network 
                environment. Multiple entries may exist for almost identical sets
                of bindings although the agent will ensure that exactly matching
                entries are coalesced."
    ::= { extremeDlcs 6 }

        extremeDlcsBindingEntry OBJECT-TYPE
        SYNTAX  ExtremeDlcsBindingEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Entry in table of DLCS bindings."
               INDEX { extremeDlcsBindingIndex } 
    ::= { extremeDlcsBindingTable 1 }

        ExtremeDlcsBindingEntry ::= SEQUENCE
        {
                extremeDlcsBindingIndex         INTEGER,
                extremeDlcsBindingType          BITS,
                extremeDlcsBindingSource        INTEGER,
                extremeDlcsBindingUser          DisplayString,
                extremeDlcsBindingGroup         DisplayString,
                extremeDlcsBindingApplication   DisplayString,
                extremeDlcsBindingHost          DisplayString,
                extremeDlcsBindingIpAddress     IpAddress,
                extremeDlcsBindingPhysPort      INTEGER,
                extremeDlcsBindingUpdateTime    TimeTicks
        }

        extremeDlcsBindingIndex  OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "An index into this table, chosen by the agent. This has
                no significance to the manager beyond its uniqueness
                within this agent."
    ::= { extremeDlcsBindingEntry 1 }

        extremeDlcsBindingType  OBJECT-TYPE
            SYNTAX  BITS { user2ip(0), user2port(1), ip2port(2), 
                           application2user(3), application2ip(4), 
                           host2ip(5), group2ip(6), group2port(7), 
                           user2group(8) }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The type of binding expressed here. A given bit is set if DLCS
                has detected that the two relevant items are bound together. 
                e.g. an entry with application2user(3) set to 1 implies that
                the username extremeDlcsBindingUser has been seen to be using 
                the application extremeDlcsBindingApplication. In addition, if
                this entry also has user2port(1) set to 1 then this user and
                application have been detected as running on the physical
                switch port extremeDlcsBindingPhysPort."
    ::= { extremeDlcsBindingEntry 2 }

        extremeDlcsBindingSource  OBJECT-TYPE
            SYNTAX  INTEGER { other (1), local(2), netbiosquery(3),
             netbiosbind (4), dns(5), kerberos5(6), rsvp(7) }
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                "The source of the information binding."
    ::= { extremeDlcsBindingEntry 3 }

        extremeDlcsBindingUser  OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The User name detected by DLCS. A string of length zero
         indicates no valid User name has been detected for this
         binding."
    ::= { extremeDlcsBindingEntry 4 }

        extremeDlcsBindingGroup  OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The Group name detected by DLCS. A string of length zero
                 indicates no valid Group name has been detected for this
         binding."
    ::= { extremeDlcsBindingEntry 5 }

        extremeDlcsBindingApplication  OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The Application name detected by DLCS. A string of length 
                zero indicates no valid Application name has been detected 
                for this binding."
    ::= { extremeDlcsBindingEntry 6 }

        extremeDlcsBindingHost  OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The Host name detected by DLCS. A string of length 
                zero indicates no valid Host name has been detected 
                for this binding."
    ::= { extremeDlcsBindingEntry 7 }

        extremeDlcsBindingIpAddress  OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The IP address detected by DLCS. A value of 0.0.0.0
                indicates no valid IP address has been detected 
                for this binding."
    ::= { extremeDlcsBindingEntry 8 }

        extremeDlcsBindingPhysPort  OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The physical port number (ifIndex) detected by DLCS.
                This is valid in all bindings."
    ::= { extremeDlcsBindingEntry 9 }

        extremeDlcsBindingUpdateTime  OBJECT-TYPE
            SYNTAX TimeTicks
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of sysUpTime when this entry was last updated."
    ::= { extremeDlcsBindingEntry 10 }

END

-- ################################################################################

EXTREME-DOS-MIB DEFINITIONS ::= BEGIN

    IMPORTS  
        MODULE-IDENTITY     FROM SNMPv2-SMI
                OBJECT-TYPE         FROM SNMPv2-SMI
        TruthValue          FROM SNMPv2-TC
                extremeAgent        FROM EXTREME-BASE-MIB
                extremeV2Traps          FROM EXTREME-BASE-MIB
        extremenetworks         FROM EXTREME-BASE-MIB
                DisplayString       FROM RFC1213-MIB
                TimeTicks               FROM SNMPv2-SMI
                NOTIFICATION-TYPE       FROM SNMPv2-SMI;

        extremeDosMib MODULE-IDENTITY
                LAST-UPDATED "0401020000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Dos protect objects information"
        ::= { extremeAgent 28 }

        extremeDosProtect OBJECT IDENTIFIER ::= { extremeDosMib 1 }


extremeDosEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The Flag indicates whether DOS protection is enabled or disabled."
    DEFVAL { false }
    ::= { extremeDosProtect 1 }


extremeDosNoticeLevel    OBJECT-TYPE
    SYNTAX      INTEGER(150..100000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The number of packets per second to be received for logging."
    DEFVAL { 4000 }
    ::= { extremeDosProtect 2 }

extremeDosAlertLevel    OBJECT-TYPE
    SYNTAX      INTEGER(150..100000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The number of packets per second to be received for ACL creation."
    DEFVAL { 4000 }
    ::= { extremeDosProtect 3 }

extremeDosFilterType    OBJECT-TYPE
    SYNTAX      INTEGER {
                destination (1),
                source      (2),
                destinationAndSource (3)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The type of access list filter to be set when threshold pakets are received"
    DEFVAL { destination }
    ::= { extremeDosProtect 4 }

extremeDosAclTimeout    OBJECT-TYPE
    SYNTAX      INTEGER(2..300)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The timeout interval period over which DOS protect is exercised."
    DEFVAL { 15 }
    ::= { extremeDosProtect 5 }

extremeDosAclRulePrecedence    OBJECT-TYPE
    SYNTAX      INTEGER(0..25588)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The DOS filter Rule Precedence."
    DEFVAL { 10 }
    ::= { extremeDosProtect 6 }

extremeDosMessagesEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The Flag indicates whether DOS messages are enabled or disabled."
    DEFVAL { true }
    ::= { extremeDosProtect 7 }

extremeDosPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeDosPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains the port wise listing of DOS attributes."
    ::= { extremeDosProtect 8 }

extremeDosPortEntry       OBJECT-TYPE
    SYNTAX      ExtremeDosPortEntry
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
            "Information about the Dos attributes of a particular port."
    INDEX   { extremeDosIfIndex }
    ::= { extremeDosPortTable 1 }

ExtremeDosPortEntry ::= SEQUENCE {
      extremeDosIfIndex                         INTEGER,
      extremeDosPortTrusted                     TruthValue,
      extremeDosIsDosActive                     TruthValue
}

extremeDosIfIndex    OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index for this entry."
    ::= { extremeDosPortEntry 1 }

extremeDosPortTrusted    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Indicates whether the port is trusted or untrusted."
    DEFVAL { false }
    ::= { extremeDosPortEntry 2 }

extremeDosIsDosActive    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Indicates whether DOS is active on this port."
    ::= { extremeDosPortEntry 3 }

--TRAPS MIB Definitions for DOS
  
--   extremeDosThresholdReached TRAP-TYPE
--   ENTERPRISE  extremenetworks
--   VARIABLES   {extremeDosAlertLevel}
--   DESCRIPTION
--        "The extremeDosThresholdReached notification is generated when the
--        DOS threshold is crossed"
--   ::= 23

--   extremeDosThresholdCleared TRAP-TYPE
--   ENTERPRISE  extremenetworks
--   VARIABLES   {extremeDosAlertLevel}
--   DESCRIPTION
--        "The extremeDosThresholdCleared notification is generated when the
--        DOS threshold is Cleared"
--   ::= 24

   extremeDosTraps      OBJECT IDENTIFIER
        ::= { extremeV2Traps 14 }

   extremeDosTrapsPrefix   OBJECT IDENTIFIER
        ::= { extremeDosTraps 0 }

   extremeDosThresholdCleared   NOTIFICATION-TYPE
        OBJECTS { extremeDosAlertLevel }
        STATUS current
        DESCRIPTION
                "The extremeDosThresholdCleared notification is generated when
                the DOS threshold is cleared ."
   ::= { extremeDosTrapsPrefix 1 }

   extremeDosThresholdReached   NOTIFICATION-TYPE
        OBJECTS { extremeDosAlertLevel }
        STATUS current
        DESCRIPTION
                "The extremeDosThresholdReached notification is generated when
                the DOS threshold is crossed for any of the ports."
   ::= { extremeDosTrapsPrefix 2 }

END

-- ################################################################################

EXTREMEdot11f-MIB DEFINITIONS ::= BEGIN 
        IMPORTS 

        MODULE-IDENTITY FROM SNMPv2-SMI
        extremeAP FROM EXTREME-BASE-MIB;


-- ********************************************************************** 
-- * MODULE IDENTITY 
-- ********************************************************************** 

        extremeDot11f MODULE-IDENTITY 
        LAST-UPDATED "0107020000Z" 
        ORGANIZATION "Extreme Networks"
        CONTACT-INFO 
                " "

        DESCRIPTION 
        "This MIB module provides management of IAPP on a set of APs.
         It is functionally identical to the IAPP MIB from the IEEE
         with the addition of a new index."
    ::= { extremeAP 22 }

END

-- ################################################################################

EXTREME-ENH-DOS-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
                OBJECT-TYPE     FROM SNMPv2-SMI
                DisplayString   FROM RFC1213-MIB   
                TimeTicks               FROM SNMPv2-SMI
                    TruthValue, RowStatus           FROM SNMPv2-TC
                extremeAgent    FROM EXTREME-BASE-MIB
                extremeV2Traps          FROM EXTREME-BASE-MIB;



        extremeEnhDosMib MODULE-IDENTITY
                LAST-UPDATED "0401020000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Enhanced Dos protect objects information"
        ::= { extremeAgent 29 }

        extremeEnhDosProtect OBJECT IDENTIFIER ::= { extremeEnhDosMib 1 }


extremeEnhDosEnableRateLimit    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The Flag indicates whether Enhanced DOS protection with rate limit is enabled or disabled."
    DEFVAL { false }
    ::= { extremeEnhDosProtect 1 }

extremeEnhDosEnableIpFdb    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The Flag indicates whether Enhanced DOS protection against IPFDB thrashing is enabled or disabled."
    DEFVAL { false }
    ::= { extremeEnhDosProtect 2 }

extremeEnhDosEnableBenchMark    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The Flag indicates whether Enhanced DOS protection with benchmarking  is enabled or disabled."
    DEFVAL { false }
    ::= { extremeEnhDosProtect 3 }

extremeEnhDosCacheSize    OBJECT-TYPE
    SYNTAX      INTEGER(100..262144)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The Enhanced DOS Cache Size. The number of DA/SA pairs"
    DEFVAL { 262144 }
    ::= { extremeEnhDosProtect 4 }


--------------   The DOS Port Table ------------------------------

extremeEnhDosPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeEnhDosPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains the port wise listing of Enhanced DOS attributes."
    ::= { extremeEnhDosProtect 5 }

extremeEnhDosPortEntry       OBJECT-TYPE
    SYNTAX      ExtremeEnhDosPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about the Dos attributes of a particular port."
    INDEX   { extremeEnhDosPortIfIndex }
    ::= { extremeEnhDosPortTable 1 }

ExtremeEnhDosPortEntry ::= SEQUENCE {
      extremeEnhDosPortIfIndex                  INTEGER,
      extremeEnhDosPortTrusted                  TruthValue,
      extremeEnhDosPortAlarmState               TruthValue,
      extremeEnhDosPortLearnLimit                       INTEGER,
      extremeEnhDosPortLearnWindow              INTEGER,
      extremeEnhDosPortAgingTime                        INTEGER,
      extremeEnhDosPortRateLimitEnable          TruthValue,
      extremeEnhDosPortIpFdbEnable              TruthValue,
      extremeEnhDosPortBenchMarkEnable          TruthValue,
      extremeEnhDosPortRateLimitThreshold               INTEGER,
      extremeEnhDosPortRateLimitDropProbability INTEGER,
      extremeEnhDosPortRateLimitLearningWindow  INTEGER,
      extremeEnhDosPortRateLimitProtocol        INTEGER
}


extremeEnhDosPortIfIndex    OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index for this entry."
    ::= { extremeEnhDosPortEntry 1 }

extremeEnhDosPortTrusted    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Indicates whether the port is trusted or untrusted."
    DEFVAL { false }
    ::= { extremeEnhDosPortEntry 2 }

extremeEnhDosPortAlarmState    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Indicates whether the port is in alarm state or not."
    DEFVAL { false }
    ::= { extremeEnhDosPortEntry 3 }

extremeEnhDosPortLearnLimit    OBJECT-TYPE
    SYNTAX      INTEGER(100..1953125)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The number of packets allowed on the port before an entry is
        created in the forwarding table."
    DEFVAL { 100 }
    ::= { extremeEnhDosPortEntry 4 }

extremeEnhDosPortLearnWindow    OBJECT-TYPE
    SYNTAX      INTEGER(1..300)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The duration to be considered to reach the threshold for creating an entry
          in the forwarding table."
    DEFVAL { 60 }
    ::= { extremeEnhDosPortEntry 5 }

extremeEnhDosPortAgingTime    OBJECT-TYPE
    SYNTAX      INTEGER(1..300)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The duration to be considered for aging out entries created on this port."
    DEFVAL { 30 }
    ::= { extremeEnhDosPortEntry 6 }

extremeEnhDosPortRateLimitEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Indicates whether the rate limit is enabled for this port."
    DEFVAL { false }
    ::= { extremeEnhDosPortEntry 7 }

extremeEnhDosPortIpFdbEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Indicates whether the DOS protection against IP FDB thrashing is enabled for this port."
    DEFVAL { false }
    ::= { extremeEnhDosPortEntry 8 }


extremeEnhDosPortBenchMarkEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Indicates whether the bench marking is enabled for this port."
    DEFVAL { false }
    ::= { extremeEnhDosPortEntry 9 }

extremeEnhDosPortRateLimitThreshold    OBJECT-TYPE
    SYNTAX      INTEGER(100..1953125)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The number of packets allowed on the port within the learning window before the rate limit is applied."
    DEFVAL { 100 }
    ::= { extremeEnhDosPortEntry 10 }

extremeEnhDosPortRateLimitDropProbability    OBJECT-TYPE
    SYNTAX      INTEGER(5..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The probability that the packet is discarded after the reaching the threshold."
    DEFVAL { 50 }
    ::= { extremeEnhDosPortEntry 11 }


extremeEnhDosPortRateLimitLearningWindow    OBJECT-TYPE
    SYNTAX      INTEGER(5..300)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The duration to be considered after which the rate limit is applied."
    DEFVAL { 60 }
    ::= { extremeEnhDosPortEntry 12 }

extremeEnhDosPortRateLimitProtocol    OBJECT-TYPE
    SYNTAX      INTEGER {
                icmp    (1),
                all     (2)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The protocol packets to be considered for rate limit filtering."
    DEFVAL { icmp }
    ::= { extremeEnhDosPortEntry 13 }


------- The DOS Port Statistics Table (READ-ONLY)-----------------

extremeEnhDosPortStatisticsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeEnhDosPortStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains the port wise listing of DOS statistics."
    ::= { extremeEnhDosProtect 6 }

extremeEnhDosPortStatisticsEntry       OBJECT-TYPE
    SYNTAX      ExtremeEnhDosPortStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about the DOS statistics of a particular port."
    INDEX   { extremeEnhDosPortStatisticsIfIndex }
    ::= { extremeEnhDosPortStatisticsTable 1 }

ExtremeEnhDosPortStatisticsEntry ::= SEQUENCE {
      extremeEnhDosPortStatisticsIfIndex                INTEGER,
      extremeEnhDosPortStatisticsRateLimitFilteredPackets  INTEGER
}

extremeEnhDosPortStatisticsIfIndex    OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index for this entry."
    ::= { extremeEnhDosPortStatisticsEntry 1 }

extremeEnhDosPortStatisticsRateLimitFilteredPackets    OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of packets filetered on this port."
    ::= { extremeEnhDosPortStatisticsEntry 2 }
  
                                                 
                  
--TRAPS MIB Definitions for ENHDOS
  
--   extremeEnhDosThresholdReached      TRAP-TYPE
--   ENTERPRISE  extremenetworks
--   VARIABLES   {extremeEnhDosPortIfIndex,extremeEnhDosPortRateLimitThreshold}
--   DESCRIPTION
--        "The extremeDosThresholdReached notification is generated when the
--        DOS threshold is crossed"
--   ::= 25

--   extremeEnhDosThresholdCleared      TRAP-TYPE
--   ENTERPRISE  extremenetworks
--   VARIABLES   {extremeEnhDosPortIfIndex,extremeEnhDosPortRateLimitThreshold}
--   DESCRIPTION
--        "The extremeDosThresholdCleared notification is generated when the
--        DOS threshold is Cleared"
--   ::= 26

extremeEnhDosTraps      OBJECT IDENTIFIER
        ::= { extremeV2Traps 11 }

   extremeEnhDosTrapsPrefix   OBJECT IDENTIFIER
        ::= { extremeEnhDosTraps 0 }

   extremeEnhDosThresholdReached NOTIFICATION-TYPE
        OBJECTS { extremeEnhDosPortIfIndex,
                  extremeEnhDosPortRateLimitThreshold }
        STATUS current
        DESCRIPTION
                "The extremeDosThresholdReached notification is generated when
                the DOS threshold is crossed for any of the ports."
            ::= { extremeEnhDosTrapsPrefix 1 }

    extremeEnhDosThresholdCleared NOTIFICATION-TYPE
        OBJECTS { extremeEnhDosPortIfIndex,
                  extremeEnhDosPortRateLimitThreshold }
        STATUS current
        DESCRIPTION
                "The extremeEnhDosThresholdCleared notification is generated when
                the DOS threshold is cleared for any of the ports."
            ::= { extremeEnhDosTrapsPrefix 2 }
END

-- ################################################################################

EXTREME-FILETRANSFER-MIB DEFINITIONS ::= BEGIN

IMPORTS
      MODULE-IDENTITY, IpAddress, OBJECT-TYPE        
                        FROM SNMPv2-SMI
      DisplayString, TestAndIncr, RowStatus
            FROM SNMPv2-TC
      OwnerString       FROM RMON-MIB
      extremeAgent    FROM EXTREME-BASE-MIB;

extremeFileTransfer    MODULE-IDENTITY
    LAST-UPDATED    "9810211630Z"
    ORGANIZATION    "Extreme Networks, Inc."
    CONTACT-INFO    "www.extremenetworks.com"
    DESCRIPTION    "Extreme File transfer objects"
    ::= {extremeAgent 10}

-- The file transfer group

extremeFileTransferGroup OBJECT IDENTIFIER ::= { extremeFileTransfer 1 }

extremeFileTransferNextAvailableIndex OBJECT-TYPE
    SYNTAX  TestAndIncr
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
          "The index of the next free row in the extremeFileTransferTable."
    ::= { extremeFileTransferGroup 1}

extremeFileTransferTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF FileTransferEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A table of pending and completed file transfers."
    ::= { extremeFileTransferGroup 2 }

extremeFileTransferEntry OBJECT-TYPE
    SYNTAX    FileTransferEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
                "A table entry containing information on a pending
                or completed file transfer."
    INDEX    { extremeFileTransferIndex }
    ::= { extremeFileTransferTable 1 }

FileTransferEntry ::=
    SEQUENCE {
        extremeFileTransferIndex            INTEGER,
        extremeFileTransferServerAddress        IpAddress,
        extremeFileTransferFileName                    DisplayString,
        extremeFileTransferOperation            INTEGER,
        extremeFileTransferScheduledTime        OCTET STRING,
        extremeFileTransferStartAdminStatus        INTEGER,
        extremeFileTransferStartOperStatus        INTEGER,
        extremeFileTransferLastExecutionStatus        INTEGER,
        extremeFileTransferOwner                       OwnerString,
        extremeFileTransferRowStatus            RowStatus
    }
        
extremeFileTransferIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "An index into the file transfer table."
        ::= { extremeFileTransferEntry 1 }

extremeFileTransferServerAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        "This is the address of the TFTP server from which to
        download the image or configuration or upload the 
        configuration."
        ::= { extremeFileTransferEntry 2 }

extremeFileTransferFileName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..64))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        "This is the name of the file to be downloaded or uploaded."
        ::= { extremeFileTransferEntry 3 }

extremeFileTransferOperation OBJECT-TYPE
         SYNTAX  INTEGER {
                    downloadImageToPrimaryImmediate(1),
                    downloadImageToSecondaryImmediate(2),
                    downloadConfigImmediate(3),
                    uploadConfigImmediate(4),
                    scheduleConfigUploadPeriodic(5),
                    scheduleConfigUploadOnce(6),
                    scheduleImageDownloadToPrimaryOnce(7),
                    scheduleImageDownloadToSecondaryOnce(8),
            scheduleConfigDownloadOnce(9)
                 }
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION 
                 "Indication of the file transfer operation.
                  This object allows configuration of uploads and/or
                  downloads either immediately or at a scheduled time.

          A value of downloadImageToPrimaryImmediate(1) or 
          downloadImageToSecondaryImmediate(2) describes immediate 
          download of a software image to either the primary or 
          secondary permanent store. A value of 
          downloadConfigImmediate(3) describes immediate download
          of a configuration file to non-volatile store. A value
          of uploadConfigImmediate(4) describes the immediate upload
          of the currently running configuration to the server.

          A value of scheduleConfigUploadOnce(6) describes a single 
          upload of the current configuration to the server at the 
          time extremeFileTransferScheduledTime. A value of 
          scheduleConfigUploadPeriodic(5) describes daily uploads 
          of the current configuration to the server at the time 
          extremeFileTransferScheduledTime every day.

          A value of scheduleImageDownloadToPrimaryOnce(7) or 
          scheduleImageDownloadToSecondaryOnce(8) describes a single 
          download of a software image to either the primary or 
          secondary permanent store at the time
          extremeFileTransferScheduledTime.

          This object can be modified only if
          extremeFileTransferStartOperStatus for this entry is idle(1).

                  Note that any attempts to modify this object including
                  row creation which would result in multiple downloads
                  would cause the operation to fail. Managers are
                  strongly recommened to examine the 
                  extremeFileTransferStartOperStatus object for the entries
                  in the table to determine the status of downloads
                  before attempting to modify this object."
         ::= { extremeFileTransferEntry 4 }

extremeFileTransferScheduledTime OBJECT-TYPE -- This convention is from RMON2
        SYNTAX  OCTET STRING (SIZE (0 | 8 | 11))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                "The time of the day at which the file transfer operation 
                should be initiated. This object is meaningful only for
                scheduled file transfers.

                field  octets  contents                  range
                -----  ------  --------                  -----
                1      1-2   year                      0..65536
                2       3    month                     1..12
                3       4    day                       1..31
                4       5    hour                      0..23
                5       6    minutes                   0..59
                6       7    seconds                   0..60
                                         (use 60 for leap-second)
                7       8    deci-seconds              0..9
                8       9    direction from UTC        '+' / '-'
                9      10    hours from UTC            0..11
                10      11    minutes from UTC         0..59

                For example, Tuesday May 26, 1992 at 1:30:15 PM
                EDT would be displayed as:

                     1992-5-26,13:30:15.0,-4:0

                Note that if only local time is known, then
                timezone information (fields 8-10) is not
                present, and if no time information is known, the null
                string is returned."
        ::= { extremeFileTransferEntry 5 }
    
extremeFileTransferStartAdminStatus OBJECT-TYPE
         SYNTAX  INTEGER {
                    start(1),
                    cancel(2)       
                 }
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION 
                 "Writing to this object initiates the upload/download or
                 schedules one. The extremeFileTransferStartOperStatus object
                 should be checked before attempting to set this object.
                 This object cannot be modified while the 
                 extremeFileTransferStartOperStatus is inProgress(3). This
         object can be set start(1) only if the
         extremeFileTransferStartOperStatus is idle(1). A scheduled
         upload/download will be cancelled by setting the value of
         this object to cancel(2)."
         DEFVAL { cancel }
        ::= { extremeFileTransferEntry 6}
    
extremeFileTransferStartOperStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                  idle(1),
                  scheduled(2),
                  inProgress(3)
                }
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION 
        "The agent sets this value to reflect the current status of 
                the file transfer operation. Reading this object is meaningful 
                only if the extremeFileTransferRowStatus is active(1). The
        current status is determined by the agent by examining the
        values for extremeFileTransferOperation and
        extremeFileTransferStartAdminStatus."
        ::= { extremeFileTransferEntry 7 }

extremeFileTransferLastExecutionStatus OBJECT-TYPE
        SYNTAX  INTEGER { -- These values are from RMON-2
                    success(1),
                    statusUnknown(2),
                    generalError(3),
                    noResponseFromServer(4),
                    checksumError(5),
                    incompatibleImage(6),
                    tftpFileNotFound(7),
                    tftpAccessViolation(8),
            fileTooLarge(9),
            downloadInProgress(10)
                }
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION 
        "The  status of the last file transfer operation. This value 
                is returned as statusUnknown(1) until the
        extremeFileTransferRowStatus is set to active(1) or when the
        extremeFileTransferStartOperStatus is inProgress(3). After an
        upload/download, the agent will update this value with the
        result of the file transfer. Managers should read this object
        before modifying extremeFileTransferOperation because the
        agent would set this value to statusUnknown(2) in such cases."
        ::= { extremeFileTransferEntry 8 }

extremeFileTransferOwner OBJECT-TYPE
        SYNTAX  OwnerString(SIZE (0..32))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                "Indicates the identity of the manager that configured this
                 file transfer entry."
        ::= { extremeFileTransferEntry 9 }

extremeFileTransferRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                "The status of this table entry. This object can not be
        modified while the extremeFileTransferStatus is inProgress(1).
        Setting this object to notInService(2) or destroy(6) will
        cancel any scheduled uploads if this entry was configured for
        one.

                Note that any attempts to create new rows which would result
        in multiple downloads would cause the row creation to fail.
        Similarly, attempting to delete a row while
        extremeFileTransferStartOperStatus is inProgress(3) would fail.
        Managers are strongly recommened to examine the
        extremeFileTransferStartOperStatus object for the entries in 
                the table to determine the status of downloads before
        attempting row creation/deletion."
        ::= { extremeFileTransferEntry 10 }

END

-- ################################################################################

EXTREME-NETFLOW-MIB DEFINITIONS ::= BEGIN

      IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
            OBJECT-TYPE             FROM SNMPv2-SMI
            IpAddress               FROM SNMPv2-SMI
                MacAddress              FROM SNMPv2-TC
                TruthValue          FROM SNMPv2-TC
                extremeAgent            FROM EXTREME-BASE-MIB;


        extremeNetFlow MODULE-IDENTITY
                LAST-UPDATED "0010310000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme NetFlow tables."
        ::= { extremeAgent 22 }

        extremeNetFlowConfigPort OBJECT IDENTIFIER
        ::= { extremeNetFlow 1 }

        extremeNetFlowConfigGroup OBJECT IDENTIFIER
        ::= { extremeNetFlow 2 }


        extremeNetFlowGroupCollectorTable                  OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeNetFlowGroupCollectorEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains configuration information
                         for a defined NetFlow group flow entry."
                ::= { extremeNetFlowConfigGroup 2 }

        extremeNetFlowGroupCollectorEntry                      OBJECT-TYPE
                SYNTAX   ExtremeNetFlowGroupCollectorEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeNetFlowGroupNumber,
                       extremeNetFlowCollectorId}
                ::= {extremeNetFlowGroupCollectorTable 1}


        ExtremeNetFlowGroupCollectorEntry ::= SEQUENCE {
                extremeNetFlowGroupNumber             INTEGER,
                extremeNetFlowCollectorId             INTEGER,
                extremeNetFlowGroupPingEnabled        TruthValue,
                extremeNetFlowGroupSourceIp           IpAddress,
                extremeNetFlowCollectorIpAddress      IpAddress,
                extremeNetFlowCollectorUdpPort        INTEGER,
                extremeNetFlowCollectorStatusUp       TruthValue,
                extremeNetFlowCollectorDowntime       INTEGER,
        extremeNetFlowCollectorPacketsTx      INTEGER
        }

        extremeNetFlowGroupNumber                   OBJECT-TYPE
                SYNTAX  INTEGER (1..32)
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The group number."
                ::= { extremeNetFlowGroupCollectorEntry 1 }

        extremeNetFlowCollectorId               OBJECT-TYPE
                SYNTAX  INTEGER (1..8)
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The collector number."
                ::= { extremeNetFlowGroupCollectorEntry 2 }

        extremeNetFlowGroupPingEnabled        OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Flag indicating if ping is enabled for the group"
                ::= { extremeNetFlowGroupCollectorEntry 3 }

        extremeNetFlowGroupSourceIp              OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Source IP address for the group."
                ::= { extremeNetFlowGroupCollectorEntry 4 }

        extremeNetFlowCollectorIpAddress              OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "The collector's configured IP address."
                ::= { extremeNetFlowGroupCollectorEntry 5 }

        extremeNetFlowCollectorUdpPort                        OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The collector's configured UDP port number."
                ::= { extremeNetFlowGroupCollectorEntry 6 }

        extremeNetFlowCollectorStatusUp                  OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Flag indicating if the collector is up."
                ::= { extremeNetFlowGroupCollectorEntry 7 }

        extremeNetFlowCollectorDowntime                       OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The downtime value for the collector."
                ::= { extremeNetFlowGroupCollectorEntry 8 }
        
    extremeNetFlowCollectorPacketsTx                      OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The transmit packet count for the collector."
                ::= { extremeNetFlowGroupCollectorEntry 9 }



--
-- NetFlow Port Configuration Table
--

        extremeNetFlowPortConfigTable                   OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeNetFlowPortConfigEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains configuration information
                         for a defined NetFlow port."
                ::= { extremeNetFlowConfigPort 1 }

        extremeNetFlowPortConfigEntry                   OBJECT-TYPE
                SYNTAX  ExtremeNetFlowPortConfigEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeNetFlowPortConfigPortIndex}
                ::= {extremeNetFlowPortConfigTable 1}


        ExtremeNetFlowPortConfigEntry ::= SEQUENCE {
                extremeNetFlowPortConfigPortIndex       INTEGER,
                extremeNetFlowPortConfigEnabled         TruthValue,
                extremeNetFlowPortConfigTimout          INTEGER,
                extremeNetFlowPortOverFlowPackets       INTEGER
        }

        extremeNetFlowPortConfigPortIndex               OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The index value for the port."
                ::= { extremeNetFlowPortConfigEntry 1 }

        extremeNetFlowPortConfigEnabled              OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Flag indicating if port is enabled."
                ::= { extremeNetFlowPortConfigEntry 2 }

        extremeNetFlowPortConfigTimout                       OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The port timeout value."
                ::= { extremeNetFlowPortConfigEntry 3 }

        extremeNetFlowPortOverFlowPackets                      OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of packets not accounted for due to lack of resources.  Implemented on PoS ports only"
                ::= { extremeNetFlowPortConfigEntry 4 }



--
-- NetFlow Port Filter Entry Configuration Table
--

        extremeNetFlowPortFilterConfigTable                     OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeNetFlowPortFilterConfigEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains configuration information
                         for a defined NetFlow filter."
                ::= { extremeNetFlowConfigPort 2 }

        extremeNetFlowPortFilterConfigEntry                     OBJECT-TYPE
                SYNTAX  ExtremeNetFlowPortFilterConfigEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeNetFlowPortConfigPortNumber,
                       extremeNetFlowPortConfigFilterEgress,
                       extremeNetFlowPortConfigFilterNumber}
                ::= {extremeNetFlowPortFilterConfigTable 1}

        ExtremeNetFlowPortFilterConfigEntry ::= SEQUENCE {
                extremeNetFlowPortConfigPortNumber      INTEGER,
                extremeNetFlowPortConfigFilterEgress    TruthValue,
                extremeNetFlowPortConfigFilterNumber    INTEGER,
                extremeNetFlowPortEnabled               TruthValue,
                extremeNetFlowFilterEnabled             TruthValue,
                extremeNetFlowDestIpAddress             IpAddress,
                extremeNetFlowDestIpAddressMask         IpAddress,
                extremeNetFlowSourceIpAddress           IpAddress,
                extremeNetFlowSourceIpAddressMask       IpAddress,
                extremeNetFlowDestPort                  INTEGER,
                extremeNetFlowDestPortMask              INTEGER,
                extremeNetFlowSourcePort                INTEGER,
                extremeNetFlowSourcePortMask            INTEGER,
                extremeNetFlowProtocol                  INTEGER,
                extremeNetFlowProtocolMask              INTEGER,
                extremeNetFlowFilterGroupNumber         INTEGER,
                extremeNetFlowMatchAllFlag              TruthValue,
                extremeNetFlowMatchNoneFlag             TruthValue
        }

        extremeNetFlowPortConfigPortNumber                     OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The port number for the filter."
                ::= { extremeNetFlowPortFilterConfigEntry 1 }

        extremeNetFlowPortConfigFilterEgress                     OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                        "Flag indicating whether this is a request for an
             egress filter (1) or an ingress filter (0)."
                ::= { extremeNetFlowPortFilterConfigEntry 2 }

        extremeNetFlowPortConfigFilterNumber                     OBJECT-TYPE
                SYNTAX  INTEGER (1..8)
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The filter number being requested (1-8)."
                ::= { extremeNetFlowPortFilterConfigEntry 3 }

        extremeNetFlowPortEnabled                                OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Flag indicating whether port is enabled."
                ::= { extremeNetFlowPortFilterConfigEntry 4 }

        extremeNetFlowFilterEnabled                    OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Flag indicating whether filter is enabled."
                ::= { extremeNetFlowPortFilterConfigEntry 5 }

        extremeNetFlowDestIpAddress                    OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Filter Destination IP address."
                ::= { extremeNetFlowPortFilterConfigEntry 6 }

        extremeNetFlowDestIpAddressMask                OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Filter Destination IP address Mask."
                ::= { extremeNetFlowPortFilterConfigEntry 7 }

        extremeNetFlowSourceIpAddress                  OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Filter Source IP address."
                ::= { extremeNetFlowPortFilterConfigEntry 8 }

        extremeNetFlowSourceIpAddressMask              OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Filter Source IP address Mask."
                ::= { extremeNetFlowPortFilterConfigEntry 9 }

        extremeNetFlowDestPort                         OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The destination port (valid for TCP and UDP flows only)."
                ::= { extremeNetFlowPortFilterConfigEntry 10 }

        extremeNetFlowDestPortMask                     OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The destination port mask."
                ::= { extremeNetFlowPortFilterConfigEntry 11 }

        extremeNetFlowSourcePort                       OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The source port (valid for TCP and UDP flows only)."
                ::= { extremeNetFlowPortFilterConfigEntry 12 }

        extremeNetFlowSourcePortMask                   OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The source port mask."
                ::= { extremeNetFlowPortFilterConfigEntry 13 }

        extremeNetFlowProtocol                         OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The IP protocol for the filter."
                ::= { extremeNetFlowPortFilterConfigEntry 14 }

        extremeNetFlowProtocolMask                     OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The IP protocol mask."
                ::= { extremeNetFlowPortFilterConfigEntry 15 }

        extremeNetFlowFilterGroupNumber                OBJECT-TYPE
                SYNTAX  INTEGER (1..32)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The Group Number."
                ::= { extremeNetFlowPortFilterConfigEntry 16 }

        extremeNetFlowMatchAllFlag                     OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Filter is set to match all flows."
                ::= { extremeNetFlowPortFilterConfigEntry 17 }

        extremeNetFlowMatchNoneFlag                    OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Filter is set to not match any flows."
                ::= { extremeNetFlowPortFilterConfigEntry 18 }
    

END

-- ################################################################################

-- ===================================================
--
-- Extreme Services
--

EXTREME-SERVICES-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE    FROM SNMPv2-SMI
        InetAddressType, InetAddress    FROM INET-ADDRESS-MIB
        extremeAgent                    FROM EXTREME-BASE-MIB
        TEXTUAL-CONVENTION      FROM SNMPv2-TC
        TruthValue, RowStatus           FROM SNMPv2-TC;

        
        extremeServices MODULE-IDENTITY
                      LAST-UPDATED "0502230000Z"
                      ORGANIZATION "Extreme Networks, Inc."
                      CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Upper layer services objects"
        ::= { extremeAgent 26 }

        extremeSyslog OBJECT IDENTIFIER ::= {extremeServices 1} 
        extremeDNS OBJECT IDENTIFIER ::= {extremeServices 3} 
    extremeAuthServer   OBJECT IDENTIFIER ::= {extremeServices 4}

        AuthServerType ::= TEXTUAL-CONVENTION
          STATUS        current
          DESCRIPTION
                "The type of authentication/accounting server."
          SYNTAX INTEGER { radius(1), radius-acct(2), tacacs(3), tacacs-acct(4) }

        AuthServerAccessType ::= TEXTUAL-CONVENTION
          STATUS        current
          DESCRIPTION
                "Specifies whether the server is for authenticating mangement or netlogin accesses"
          SYNTAX INTEGER { mgmt-access(1), netlogin(2) }

        extremeRemoteSyslogServerTable      OBJECT-TYPE
            SYNTAX       SEQUENCE OF ExtremeRemoteSyslogServerEntry
            MAX-ACCESS          not-accessible
            STATUS              current
            DESCRIPTION     
                "This table is used to configure remote syslog 
                servers and contains information on the same."
            ::= { extremeSyslog 1 }

        extremeRemoteSyslogServerEntry      OBJECT-TYPE
            SYNTAX              ExtremeRemoteSyslogServerEntry
            MAX-ACCESS          not-accessible
            STATUS              current
            DESCRIPTION
                "An entry in the extremeRemoteSyslogServerTable."
            INDEX { extremeRemoteSyslogServerAddressType,                                            
                    extremeRemoteSyslogServerAddress,
                    extremeRemoteSyslogServerPort,                                       
                    extremeRemoteSyslogServerFacility
                    }
            ::= { extremeRemoteSyslogServerTable 1 }

        ExtremeRemoteSyslogServerEntry ::= SEQUENCE {
                extremeRemoteSyslogServerAddressType InetAddressType,
                extremeRemoteSyslogServerAddress     InetAddress,
                extremeRemoteSyslogServerPort        INTEGER,
                extremeRemoteSyslogServerFacility    INTEGER,
                extremeRemoteSyslogServerSeverity    BITS,
                extremeRemoteSyslogServerStatus      RowStatus
        }
         
        extremeRemoteSyslogServerAddressType          OBJECT-TYPE
                SYNTAX                          InetAddressType
                MAX-ACCESS                      read-only
                STATUS                          current
                DESCRIPTION
                    "The type of address specified in the object                                
                    'extremeRemoteSyslogServerAddress'.
                    Currently, only 'ipv4' and 'dns' are supported."
                DEFVAL { ipv4 }
            ::= { extremeRemoteSyslogServerEntry 1 }

      extremeRemoteSyslogServerAddress           OBJECT-TYPE
                SYNTAX                  InetAddress (SIZE (1..255))
                MAX-ACCESS              read-only
                STATUS                  current
                DESCRIPTION
                    "The address of the remote syslog server. This 
                    can be a DNS name or an IPv4 address." 
                    
            ::= { extremeRemoteSyslogServerEntry 2 }

     extremeRemoteSyslogServerPort                    OBJECT-TYPE
                SYNTAX                          INTEGER (0..65535)
                MAX-ACCESS                      read-only
                STATUS                          current
                DESCRIPTION
                    "The UDP port number of the remote syslog server                            
                    to which syslog messages will
                    be sent."
            ::= { extremeRemoteSyslogServerEntry 3 }

      extremeRemoteSyslogServerFacility               OBJECT-TYPE
                SYNTAX                          INTEGER {
                                                local0(1),
                                                local1(2),
                                                local2(3),
                                                local3(4),
                                                local4(5),
                                                local5(6),
                                                local6(7),
                                                local7(8)
                                                }
                MAX-ACCESS                      read-only
                STATUS                          current
                DESCRIPTION
                    "The facility which will be sent in all syslog                              
                    messages to this remote syslog server."
            ::= { extremeRemoteSyslogServerEntry 4 }

      extremeRemoteSyslogServerSeverity               OBJECT-TYPE
            SYNTAX  BITS { 
                                critical(0),
                                error(1),
                                warning(2),
                                notice(3),
                                info(4),
                                debugSummary(5),
                                debugVerbose(6),
                                debugData(7)                                    
                                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                    "The syslog message severity. All syslog messages of the specified severity for
                    which the Bits are set, will be sent to this syslog server. When setting this object
                    in a 'createAndGo' request, all lower bits upto and including the desired bit position
                    must be set. For example, if bit info(4) needs to be set then bits critical(0), 
                    error(1), warning(2), notice(3) and info(4) must also be set in the request. 
                    Consequently, all syslog messages of a given severity and higher will be sent to 
                    the syslog server. It is not possible to send messages that match only a few selected
                    non-contiguous severities."
                DEFVAL { {critical, error, warning, notice, info, debugSummary, debugVerbose, debugData} }
            ::= { extremeRemoteSyslogServerEntry 5 }

      extremeRemoteSyslogServerStatus               OBJECT-TYPE
                SYNTAX                          RowStatus
                MAX-ACCESS                      read-create
                STATUS                          current
                DESCRIPTION
                    "The status of the Row as per standard row                                  
                    status conventions. Only 'createAndGo', 'active' and 
                    'destroy' will be supported. It is not possible
                    to change the values of the objects of a row                                        
                    once it has been created, except by 'destroy'ing and 
                    re-creating the row."
                   
            ::= { extremeRemoteSyslogServerEntry 6 }

        extremeEnableRemoteSyslog OBJECT-TYPE
                SYNTAX TruthValue
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                "The enable/disable status of remote syslog messages."
        ::= { extremeSyslog 2 }

extremeDNSServerTable      OBJECT-TYPE
        SYNTAX              SEQUENCE OF ExtremeDNSServerEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION     
            "This table is used to configure DNS servers. There can be at most two
             rows in this table."
      ::= { extremeDNS 1 }

extremeDNSServerEntry      OBJECT-TYPE
        SYNTAX              ExtremeDNSServerEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "An entry in the extremeDNSServerTable."
        INDEX { extremeDNSServerAddressIndex
              }
     ::= { extremeDNSServerTable 1 }

ExtremeDNSServerEntry ::= SEQUENCE {
                extremeDNSServerAddressIndex    INTEGER,
                extremeDNSServerAddressType     InetAddressType,
                extremeDNSServerAddress         InetAddress
        }

      extremeDNSServerAddressIndex              OBJECT-TYPE
        SYNTAX          INTEGER(1..2)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This is an integer index. Only 1 and 2 are supported for this"
            ::= { extremeDNSServerEntry 1 }

      extremeDNSServerAddressType                OBJECT-TYPE
                SYNTAX                       InetAddressType 
                MAX-ACCESS                   read-only
                STATUS                       current
                DESCRIPTION
                    "The address type of the DNS server. This can be a DNS name or
                    an IPv4 address."

            ::= { extremeDNSServerEntry 2 }

      extremeDNSServerAddress                OBJECT-TYPE
                SYNTAX                       InetAddress (SIZE (1..255))
                MAX-ACCESS                   read-only
                STATUS                       current
                DESCRIPTION
                    "The address of the DNS server. This can be a DNS name or
                    an IPv4 address."

            ::= { extremeDNSServerEntry 3 }

extremeAuthServerEnableTable OBJECT-TYPE
      SYNTAX     SEQUENCE OF ExtremeAuthServerEnableEntry
      MAX-ACCESS not-accessible
      STATUS     current 
      DESCRIPTION
         "This table is used to enable/disable Auth servers"
   ::=   { extremeAuthServer 1 }

extremeAuthServerEnableEntry   OBJECT-TYPE
        SYNTAX                 ExtremeAuthServerEnableEntry
        MAX-ACCESS             not-accessible
        STATUS                 current
        DESCRIPTION
            "An entry in the extremeAuthServerEnableTable."
        INDEX { extremeAuthServerEnableServerType,
                extremeAuthServerEnableAccessType }
     ::= { extremeAuthServerEnableTable 1 }

ExtremeAuthServerEnableEntry ::= SEQUENCE {
        extremeAuthServerEnableServerType    AuthServerType,
        extremeAuthServerEnableAccessType    AuthServerAccessType,
        extremeAuthServerEnable              TruthValue }

extremeAuthServerEnableServerType OBJECT-TYPE
        SYNTAX          AuthServerType
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "Specifies whether this is a radius/radius-acct/tacacs/tacacs-acct server"
        ::= { extremeAuthServerEnableEntry 1 }

extremeAuthServerEnableAccessType OBJECT-TYPE
        SYNTAX          AuthServerAccessType
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "Specifies whether this server is for management access or netlogin access."
        ::= { extremeAuthServerEnableEntry 2 }

extremeAuthServerEnable OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-write
  STATUS current
  DESCRIPTION
  "Enable/Disable the Radius/tacas Server"
  DEFVAL { false }
 ::= { extremeAuthServerEnableEntry 3 }

extremeAuthServerTable      OBJECT-TYPE
        SYNTAX              SEQUENCE OF ExtremeAuthServerEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION     
            "This table is used to configure radius/tacacs servers."
      ::= { extremeAuthServer 2 }

extremeAuthServerEntry      OBJECT-TYPE
        SYNTAX              ExtremeAuthServerEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "An entry in the extremeAuthServerTable."
        INDEX { extremeAuthServerIndex
              }
     ::= { extremeAuthServerTable 1 }

ExtremeAuthServerEntry ::= SEQUENCE {
        extremeAuthServerIndex    INTEGER,
        extremeAuthServerAddressType     InetAddressType,
        extremeAuthServerAddress         InetAddress,
        extremeAuthServerClientAddressType InetAddressType,
        extremeAuthServerClientAddress  InetAddress,
        extremeAuthServerPort           INTEGER,
        extremeAuthServerSecret         OCTET STRING,
        extremeAuthServerReTransmit     INTEGER,
        extremeAuthServerType            AuthServerType,
        extremeAuthServerIsPrimary      TruthValue,
        extremeAuthServerAccessType     AuthServerAccessType,
        extremeAuthServerStatus         RowStatus}

extremeAuthServerIndex OBJECT-TYPE
        SYNTAX          INTEGER(1..8)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "Integer index of the server."
        ::= { extremeAuthServerEntry 1 }

extremeAuthServerAddressType OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Type IP address of the radius/tacas server. "
        ::= { extremeAuthServerEntry 2 }

extremeAuthServerAddress OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "IP address of the radius/tacas server."
        ::= { extremeAuthServerEntry 3 }

extremeAuthServerClientAddressType OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Type of IP address to use as the SRC address when
                 contacting the the radius/tacas server. The radius/tacas server
                 should be configured with this address as one of its
                 clients. The switch should have a VLAN with this IP
                 address."
        ::= { extremeAuthServerEntry 4 }

extremeAuthServerClientAddress OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "IP address to use as the SRC address when contacting the
                 the radius/tacas server. The radius/tacas server should be
                 configured with this address as one of its clients. The 
                 switch should have a VLAN with this IP address."
        ::= { extremeAuthServerEntry 5 }

extremeAuthServerPort OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Port number of the radius/tacas server."
        ::= { extremeAuthServerEntry 6 }

extremeAuthServerSecret OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the shared secret between the Authenticator
                 and radius/tacas server.  This is logically write-only."
        ::= { extremeAuthServerEntry 7 }

extremeAuthServerReTransmit OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the timeout in seconds after which the 
                 Authenticator will re transmit requests to the
                 radius/tacas server."
        ::= { extremeAuthServerEntry 8 }

extremeAuthServerType OBJECT-TYPE
        SYNTAX          AuthServerType
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Specifies whether this is a radius/radius-acct/tacacs/tacacs-acct server"
        ::= { extremeAuthServerEntry 9 }

extremeAuthServerIsPrimary OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Specifies whether this is the primary or the
                secondary server. Is TRUE if the server is primary."
        ::= { extremeAuthServerEntry 10 }

extremeAuthServerAccessType OBJECT-TYPE
        SYNTAX          AuthServerAccessType
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Specifies whether this server is for management access or netlogin access"
        ::= { extremeAuthServerEntry 11 }

extremeAuthServerStatus               OBJECT-TYPE
          SYNTAX                          RowStatus
          MAX-ACCESS                      read-create
          STATUS                          current
          DESCRIPTION
                    "The status of the Row as per standard row                                  
                    status conventions. Only 'createAndGo', 'active' and 
                    'destroy' will be supported. It is not possible
                    to change the values of the objects of a row                                        
                    once it has been created, except by 'destroy'ing and 
                    re-creating the row."
                   
            ::= { extremeAuthServerEntry 12 }

END

-- ################################################################################

EXTREME-SLB-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY        FROM SNMPv2-SMI
        OBJECT-TYPE        FROM SNMPv2-SMI
        IpAddress        FROM SNMPv2-SMI
        TruthValue        FROM SNMPv2-TC
        extremeAgent        FROM EXTREME-BASE-MIB;


    extremeSlb MODULE-IDENTITY
        LAST-UPDATED "0003080000Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Extreme Server Load Balancing information"
    ::= { extremeAgent 14 }


    extremeSlbRealServerTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeSlbRealServerEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table contains information about a real server.
            It currently indicates only whether the server is up."
        ::= { extremeSlb 1 }

    extremeSlbRealServerEntry    OBJECT-TYPE
        SYNTAX    ExtremeSlbRealServerEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An entry in the table of real server information."
        INDEX {extremeSlbRealServerIpAddress}
        ::= {extremeSlbRealServerTable 1}

    ExtremeSlbRealServerEntry ::= SEQUENCE {
        extremeSlbRealServerIpAddress    IpAddress,
        extremeSlbRealServerUp        TruthValue
    }

    extremeSlbRealServerIpAddress    OBJECT-TYPE
        SYNTAX    IpAddress
        MAX-ACCESS     not-accessible
        STATUS    current
        DESCRIPTION
            "The IP address of the real server."
        ::= { extremeSlbRealServerEntry 1 }

    extremeSlbRealServerUp        OBJECT-TYPE
        SYNTAX    TruthValue
        MAX-ACCESS    read-write
        STATUS    current
        DESCRIPTION
            "Indicates whether the server is operational.
            If the server is up, the load balancer may send
            traffic to applications on the server.  If the
            server is not up, the load balancer will send no
            traffic to the server.  This status may be written
            by an external device that knows the state of the
            server."
        ::= { extremeSlbRealServerEntry 2 }


    extremeSlbRealAppTable        OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeSlbRealAppEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table contains information about an application
            on a particular TCP or UDP port of a real server.
            It currently indicates only whether the application is
            up."
        ::= { extremeSlb 2 }

    extremeSlbRealAppEntry        OBJECT-TYPE
        SYNTAX    ExtremeSlbRealAppEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An entry in the table of real server application information."
        INDEX {extremeSlbRealAppIpAddress,
               extremeSlbRealAppPort}
        ::= {extremeSlbRealAppTable 1}

    ExtremeSlbRealAppEntry ::= SEQUENCE {
        extremeSlbRealAppIpAddress    IpAddress,
        extremeSlbRealAppPort        INTEGER (0..65535),
        extremeSlbRealAppUp        TruthValue
    }

    extremeSlbRealAppIpAddress    OBJECT-TYPE
        SYNTAX    IpAddress
        MAX-ACCESS     not-accessible
        STATUS    current
        DESCRIPTION
            "The IP address of the real server."
        ::= { extremeSlbRealAppEntry 1 }

    extremeSlbRealAppPort        OBJECT-TYPE
        SYNTAX    INTEGER (0..65535)
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "The TCP or UDP port on the real server that the
            application is using."
        ::= { extremeSlbRealAppEntry 2 }

    extremeSlbRealAppUp        OBJECT-TYPE
        SYNTAX    TruthValue
        MAX-ACCESS    read-write
        STATUS    current
        DESCRIPTION
            "Indicates whether the application is operational.
            If the application is up, the load balancer may
            send traffic to it.  If the application is not up,
            the load balancer will send no traffic to it, but
            the load balancer may send traffic to other
            applications on the same server."
        ::= { extremeSlbRealAppEntry 3 }

END

-- ################################################################################





EXTREME-STACKING-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
                OBJECT-TYPE     FROM SNMPv2-SMI
                NOTIFICATION-TYPE FROM SNMPv2-SMI
                Unsigned32      FROM SNMPv2-SMI
                IpAddress         FROM SNMPv2-SMI
                MacAddress      FROM SNMPv2-TC
                sysUpTime, sysDescr, ifIndex, DisplayString   FROM RFC1213-MIB
                TruthValue      FROM SNMPv2-TC
                extremeAgent    FROM EXTREME-BASE-MIB
                extremeCurrentTemperature       FROM EXTREME-SYSTEM-MIB;

        extremeStackable MODULE-IDENTITY
                LAST-UPDATED "0409270000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Stackable MIB objects"
        ::= { extremeAgent 33 }

-- 
-- Stack Detection Scalar 
--
        extremeStackDetection OBJECT-TYPE
             SYNTAX TruthValue
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
                "This field provides the information as to whether the stacking
             is enabled (True) or disabled (False) for the system. The stacking
             feature is supported from extremeware version 7.4 and above"
                    ::= { extremeStackable 1 }

--
--      StackMember Table
--

        extremeStackMemberTable OBJECT-TYPE
             SYNTAX SEQUENCE OF ExtremeStackMemberEntry
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION
                "A table containing information about each stack member that are
             a part of this stacking. If extremeStackDetection is not enabled,
             we wouldnt not have any rows for this table."
                    ::= { extremeStackable 2 }

        extremeStackMemberEntry OBJECT-TYPE
             SYNTAX ExtremeStackMemberEntry
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION
                "Entry in the table for a StackMember Entity"
             INDEX      { extremeStackMemberSlotId }
                    ::= { extremeStackMemberTable 1 }

        ExtremeStackMemberEntry ::= SEQUENCE {
             extremeStackMemberSlotId           INTEGER,
             extremeStackMemberType             OBJECT IDENTIFIER,      
             extremeStackMemberOperStatus       INTEGER,
             extremeStackMemberRole             INTEGER,
             extremeStackMemberEntPhysicalIndex INTEGER,
             extremeStackMemberMACAddress       MacAddress,     
             extremeStackMemberCurImageVersion  DisplayString,
             extremeStackMemberPriImageVersion  DisplayString,
             extremeStackMemberSecImageVersion  DisplayString,
             extremeStackMemberBootRomVersion   DisplayString,
             extremeStackMemberCurConfig        DisplayString,
             extremeStackMemberConfigSelected   INTEGER,
             extremeStackMemberImageSelected    INTEGER,
             extremeStackMemberStackPriority    INTEGER,
             extremeStackMemberMgmtIpAddress    IpAddress,
             extremeStackMemberSysLocation      DisplayString,
             extremeStackMemberAutoConfig       TruthValue,       
             extremeStackMemberStackStatus      INTEGER
        }

        extremeStackMemberSlotId OBJECT-TYPE
             SYNTAX INTEGER(1..8)
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The slot id of the stack member in the stack"
                   ::= { extremeStackMemberEntry 1 }

        extremeStackMemberType OBJECT-TYPE
             SYNTAX OBJECT IDENTIFIER
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The type of device of the stack member. This field reflects
            the individual sysOid of the member"
                   ::= { extremeStackMemberEntry 2 }

        extremeStackMemberOperStatus OBJECT-TYPE
             SYNTAX INTEGER {
                up (1),
                down(2),
                mismatch (3)
             }
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The operational status of the stack member. When the stack 
        comes up, if there is a vector mismatch namely license mismatch or
        platform mismatch between the master and the member, the member
        remains in the mismatch state. Further communication with the member
        is not possible"
                   ::= { extremeStackMemberEntry 3 }

        extremeStackMemberRole OBJECT-TYPE
             SYNTAX INTEGER {
                master (1),
                slave  (2),
                backup (3)
             }
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The role of the stack member as to whether it is acting as a
        master,backup or a slave"
                   ::= { extremeStackMemberEntry 4 }

        extremeStackMemberEntPhysicalIndex OBJECT-TYPE
             SYNTAX INTEGER 
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The entPhysicalIndex of the corresponding device as defined
        in the ENTITY-MIB"
                   ::= { extremeStackMemberEntry 5 }

        extremeStackMemberMACAddress OBJECT-TYPE
             SYNTAX MacAddress 
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The Mac address of the stack member"
                   ::= { extremeStackMemberEntry 6 }

        extremeStackMemberCurImageVersion OBJECT-TYPE
             SYNTAX DisplayString (SIZE(0..255)) 
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The current image version of the stack member"
                   ::= { extremeStackMemberEntry 7 }

        extremeStackMemberPriImageVersion OBJECT-TYPE
             SYNTAX DisplayString (SIZE(0..255)) 
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The primary image version of the stack member"
                   ::= { extremeStackMemberEntry 8 }

        extremeStackMemberSecImageVersion OBJECT-TYPE
             SYNTAX DisplayString (SIZE(0..255)) 
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The secondary image version of the stack member"
                   ::= { extremeStackMemberEntry 9 }

        extremeStackMemberBootRomVersion OBJECT-TYPE
             SYNTAX DisplayString (SIZE(0..255)) 
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The boot rom version of the stack member"
                   ::= { extremeStackMemberEntry 10 }

        extremeStackMemberCurConfig OBJECT-TYPE
             SYNTAX DisplayString (SIZE(0..255)) 
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The current configuration of the stack member"
                   ::= { extremeStackMemberEntry 11 }

        extremeStackMemberConfigSelected OBJECT-TYPE
             SYNTAX INTEGER {
                primary   (1),
                secondary (2)
             }
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The config selected to be used on reboot for the stack member"
                   ::= { extremeStackMemberEntry 12 }

        extremeStackMemberImageSelected OBJECT-TYPE
             SYNTAX INTEGER {
                primary   (1),
                secondary (2)
             }
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The  image selected to be used on reboot for the stack member"
                   ::= { extremeStackMemberEntry 13 }

        extremeStackMemberStackPriority OBJECT-TYPE
             SYNTAX INTEGER 
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The stack priority of the stack member. The stack priority is
        used for the master election algorithm. The member with the highest 
        priority comes up as the master. If there are more than one switch with
        highest priority, the member with the least MAC among them comes up as
        the master"
                   ::= { extremeStackMemberEntry 14 }

        extremeStackMemberMgmtIpAddress OBJECT-TYPE
             SYNTAX IpAddress 
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The fallback mgmt ip address which was configured through CLI
        for this stack member. This ipaddress can be used to communicate with 
        this member, if it comes up as the master. The ipaddress is associated
        with the vlan configured"
                   ::= { extremeStackMemberEntry 15 }

        extremeStackMemberSysLocation OBJECT-TYPE
              SYNTAX      DisplayString (SIZE (0..255))
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                  "The physical location of this node (e.g., `telephone
        closet, 3rd floor').  If the location is unknown, the value
        is the zero-length string."
                   ::= { extremeStackMemberEntry 16 }

        extremeStackMemberAutoConfig OBJECT-TYPE
             SYNTAX TruthValue
             MAX-ACCESS read-only
             STATUS     current
             DESCRIPTION
                   " This field provides the information whether the config
        of the stack member is autogenerated(true) or not(false)" 
                   ::= { extremeStackMemberEntry 17 }
                        

        extremeStackMemberStackStatus OBJECT-TYPE
             SYNTAX INTEGER {
                enable  (1),
                disable (2)
             } 
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
                "This status is used for disabling the stacking feature for
        the stack member. If stacking is enabled for the stack member we get
        the information as enable, if we mark it as disable, the stack member
        is removed from the stack and the corresponding row disappears"
                   ::= { extremeStackMemberEntry 18 }

--
--      Stacking Port Table
--
        extremeStackingPortTable OBJECT-TYPE
             SYNTAX SEQUENCE OF ExtremeStackingPortEntry
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION
                "A table containing information about each stacking port
        in the stack. If extremeStackDetection is not enabled, we would not
        have any rows for this table"
                    ::= { extremeStackable 3 }

        extremeStackingPortEntry OBJECT-TYPE
             SYNTAX ExtremeStackingPortEntry
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION
                "Entry in the table for each stacking port in the stack"
             INDEX      { extremeStackingPortIfIndex }
                    ::= { extremeStackingPortTable 1 }

        ExtremeStackingPortEntry ::= SEQUENCE {
             extremeStackingPortIfIndex         INTEGER,
             extremeStackingPortRemoteMac       MacAddress,
             extremeStackingPortLinkSpeed       Unsigned32,
             extremeStackingPortLinkStatus      INTEGER
        }

          extremeStackingPortIfIndex OBJECT-TYPE
              SYNTAX  INTEGER(1..65535)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "A unique value for each interface.  Its value
                      ranges between 1 and the value of ifNumber.  The
                      value for each interface must remain constant at
                      least from one re-initialization of the entity's
                      network management system to the next re-
                      initialization."
                   ::= { extremeStackingPortEntry 1 }

        extremeStackingPortRemoteMac OBJECT-TYPE
             SYNTAX MacAddress 
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The Mac address of the remote system, this stacking port 
        is connected to. The value of the mac address will be 00:00:00:00:00:00
        if the stacking link is not active."
                   ::= { extremeStackingPortEntry 2 }

        extremeStackingPortLinkSpeed OBJECT-TYPE
             SYNTAX Unsigned32 
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The Speed of the stacking port link in bps. The speed will be
        zero if the link is not up"
                   ::= { extremeStackingPortEntry 3 }

        extremeStackingPortLinkStatus OBJECT-TYPE
             SYNTAX INTEGER {
                up (1),
                down  (2) 
            } 
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The Link status of the stacking port link "
                   ::= { extremeStackingPortEntry 4 }


    extremeStackableTraps     OBJECT IDENTIFIER
                    ::= { extremeStackable 4 }

        extremeStackTrapsPrefix     OBJECT IDENTIFIER
            ::= { extremeStackableTraps 0 }

    extremeStackMemberOverheat NOTIFICATION-TYPE
            OBJECTS {sysUpTime, sysDescr, extremeCurrentTemperature,
                        extremeStackMemberSlotId}
            STATUS  current
            DESCRIPTION
                    "The extremeStackMemberOverheat notification is generated
                     when the temperature of the stack member reaches the 
                threshold temperature"
                ::= { extremeStackTrapsPrefix 1 }

    extremeStackMemberStatusChanged NOTIFICATION-TYPE
            OBJECTS { extremeStackMemberSlotId, extremeStackMemberOperStatus}
            STATUS  current
            DESCRIPTION
                    "The extremeStackMemberStatusChanged notification is 
                generated when the operational status of the stack member 
                changes"
                ::= { extremeStackTrapsPrefix 2 }

    extremeStackingPortStatusChanged NOTIFICATION-TYPE
            OBJECTS { ifIndex, extremeStackingPortRemoteMac,
                extremeStackingPortLinkSpeed, extremeStackingPortLinkStatus}
            STATUS  current
            DESCRIPTION
                    "The extremeStackingPortStatusChanged notification is 
                generated when the operational status of the stacking port 
                changes"
                ::= { extremeStackTrapsPrefix 3 }


END     


-- ################################################################################

EXTREME-TRAP-MIB DEFINITIONS ::= BEGIN

        IMPORTS
        enterprises FROM RFC1155-SMI    
                extremeSlotNumber               FROM EXTREME-SYSTEM-MIB
                extremeSlotModuleConfiguredType FROM EXTREME-SYSTEM-MIB
                extremeSlotModuleInsertedType   FROM EXTREME-SYSTEM-MIB
                extremeSlotModuleState          FROM EXTREME-SYSTEM-MIB
        extremePowerSupplyNumber, extremeFanNumber
                                                FROM EXTREME-SYSTEM-MIB 
                extremeCurrentTemperature       FROM EXTREME-SYSTEM-MIB 
        extremeEsrpGroup, extremeEsrpState,
                extremeEsrpNetAddress  FROM EXTREME-ESRP-MIB
        extremeEsrpActivePorts, extremeEsrpInternalActivePorts
                                                FROM EXTREME-ESRP-MIB
        extremeEsrpTrackedActivePorts, extremeEsrpTrackedIpRoutes
                                                FROM EXTREME-ESRP-MIB
        extremeVlanIfIndex, extremeVlanIfDescr FROM EXTREME-VLAN-MIB
                extremeEdpPortIfIndex, extremeEdpNeighborId,
                extremeEdpEntryAge, extremeEdpNeighborVlanName,
                extremeEdpNeighborVlanIpAddress        FROM EXTREME-EDP-MIB
                sysUpTime, sysDescr, ifPhysAddress,
                ifDescr                                FROM RFC1213-MIB
                ifAlias                                FROM IF-MIB
                NOTIFICATION-TYPE                      FROM SNMPv2-SMI;

                  
        extremenetworks           OBJECT IDENTIFIER ::=  { enterprises 1916 }
         extremeV1Traps            OBJECT IDENTIFIER ::= { extremenetworks 0 }

          extremeOverheat NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeCurrentTemperature }
              STATUS current
              DESCRIPTION
                          "A overheat trap indicates that the on board
                          tempature sensor has reported a overheat 
                          condition.  System will shutdown until unit has
                          suficiently cooled such that operation may begin
                          again.  A cold start trap will be issued when
                          the unit has come back on line."
              ::= {extremeV1Traps 6} 

          extremeFanfailed NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeFanNumber }
              STATUS current
              DESCRIPTION
                          "A fan failed trap indicates one or more of the
                          cooling fans inside the device has failed.  A
                          fanOK trap will be sent once the fan has attained
                          normal operation."
              ::= {extremeV1Traps 7}

          extremeFanOK NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeFanNumber }
              STATUS current
              DESCRIPTION
                          "A fan has transitioned out of a failure state and
                          is now operating correctly."
              ::= {extremeV1Traps 8} 

          extremeInvalidLoginAttempt NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr }
              STATUS current
              DESCRIPTION
                "A user attempted to login to console or by telnet but was
                 refused access due to incorrect username or password"
              ::= {extremeV1Traps 9} 

          extremePowerSupplyFail NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremePowerSupplyNumber }
              STATUS current
              DESCRIPTION
                "One or more sources of power to this agent has failed.
                 Presumably a redundant power-supply has taken over."
              ::= {extremeV1Traps 10} 

          extremePowerSupplyGood NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremePowerSupplyNumber }
              STATUS current
              DESCRIPTION
                 "One or more previously bad sources of power to this agent 
                 has come back to life without causing an agent restart."
              ::= {extremeV1Traps 11} 

          extremeRpsAlarm NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr }
              STATUS current
              DESCRIPTION
                          "Attached Redundant Power Supply device is indicating
                           an alarm condition."
              ::= {extremeV1Traps 12} 

          extremeRpsNoAlarm NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr }
              STATUS current
              DESCRIPTION
                          "Attached Redundant Power Supply device is no longer
                           indicating an alarm condition."
              ::= {extremeV1Traps 13} 

--
-- SmartTrap definition
--
        extremeSmartTrap NOTIFICATION-TYPE
                OBJECTS   { sysUpTime, sysDescr }
                STATUS current
                DESCRIPTION
                "Signifies that the value of one of the object identifiers 
                (or the value of an object below that in the MIB tree) 
                defined in the extremeSmartTrapRulesTable has changed, 
                and hence a new entry has been created in the 
                extremeSmartTrapInstanceTable. Such a trap is sent 
                at most once every thirty seconds if one or more entry 
                was created in the last thirty seconds." 
              ::= {extremeV1Traps 14} 

--
-- Traps for Black Diamond
--
        extremeModuleStateChanged NOTIFICATION-TYPE
                OBJECTS { sysUpTime, extremeSlotNumber, 
                            extremeSlotModuleConfiguredType, 
                            extremeSlotModuleInsertedType, 
                            extremeSlotModuleState }
                STATUS current
                DESCRIPTION
                "Signifies that the value of the extremeSlotModuleState for 
                the specified extremeSlotNumber has changed."
              ::= {extremeV1Traps 15} 

--      extremeModuleOverheat TRAP-TYPE
--              ENTERPRISE  extremenetworks
--              VARIABLES {sysUpTime, extremeSlotNumber }
--              DESCRIPTION
--              "Signifies that the temperature sensor on the module 
--              inside this slot has reported an Overheat condition."
--      ::= 16

        extremeEsrpStateChange NOTIFICATION-TYPE
                OBJECTS {sysUpTime, sysDescr, extremeVlanIfIndex,
                        extremeVlanIfDescr, extremeEsrpGroup, extremeEsrpState,
                        extremeEsrpNetAddress, ifPhysAddress,
                        extremeEsrpActivePorts, extremeEsrpInternalActivePorts,
                        extremeEsrpTrackedActivePorts, extremeEsrpTrackedIpRoutes
                }
                STATUS current
        DESCRIPTION
        "Signifies Esrp state change"
        ::= {extremeV1Traps 17}

        extremeSlbUnitAdded NOTIFICATION-TYPE
                STATUS current
                DESCRIPTION
                "The server load balancer has activated a group of virtual
                servers that it normally would not activate.  This may be
                due to the failure of another server load balancer."
                
        ::= {extremeV1Traps 18}

        extremeSlbUnitRemoved NOTIFICATION-TYPE
                STATUS current
                DESCRIPTION
                "The server load balancer has deactivated a group of virtual
                servers that it normally has active.  This indicates that
                something is wrong in the server load balancer; for example,
                its ping check may be failing."
        ::= {extremeV1Traps 19}

        extremeEdpNeighborAdded NOTIFICATION-TYPE
                OBJECTS {sysUpTime, extremeEdpPortIfIndex,
                        extremeEdpNeighborId, extremeEdpEntryAge,
                        ifAlias, ifDescr
                }
        STATUS current
        DESCRIPTION
        "This node discovers a new neighbor through Extreme Discovery
         Protocol."
        ::= {extremeV1Traps 20}

        extremeEdpNeighborRemoved NOTIFICATION-TYPE
                OBJECTS {sysUpTime, extremeEdpPortIfIndex,
                        extremeEdpNeighborId, extremeEdpEntryAge,
                        ifAlias, ifDescr
                }
        STATUS current
        DESCRIPTION
        "No EDP updates are received from this neighbor within
        the configured timeout period and this neighbor entry is aged
        out by the device."
        ::= {extremeV1Traps 21}

    extremeCpuHealthCheckFailed NOTIFICATION-TYPE
            OBJECTS {sysUpTime, sysDescr, extremeSlotNumber }
            STATUS current
            DESCRIPTION
            "Cpu HealthCheck has failed."
            ::= {extremeV1Traps 22}
        
END

-- ################################################################################

EXTREME-VC-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
        OBJECT-TYPE     FROM SNMPv2-SMI
                TruthValue      FROM SNMPv2-TC
        ifIndex         FROM RFC1213-MIB
                extremeAgent    FROM EXTREME-BASE-MIB;

        extremeVC MODULE-IDENTITY
                LAST-UPDATED "9801090000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Virtual Chassis objects"
        ::= { extremeAgent 5 }

--
-- Virtual Chassis Link Table
-- 

        extremeVCLinkTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVCLinkEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
                      "A table of information about any neighbouring
                       Extreme Virtual Chassis device. Only contains 
                       valid data for ports that are configured to 
                       have extremePortSummitlinkAdminMode set to
                       summitlinkOnly have an active link or 
               have had an active link since the last time 
               they were configured in Summitlink mode."
    ::= { extremeVC 1 }

    extremeVCLinkEntry OBJECT-TYPE
        SYNTAX  ExtremeVCLinkEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
                      "Neighbour information for a single Summitlink
                       Port."
                INDEX { ifIndex }
    ::= { extremeVCLinkTable 1 }

        ExtremeVCLinkEntry ::=  SEQUENCE {
        extremeVCLinkValid     TruthValue,
                extremeVCLinkDeviceId  INTEGER,
                extremeVCLinkPortIndex INTEGER
        } 

        extremeVCLinkValid OBJECT-TYPE 
                SYNTAX TruthValue
                MAX-ACCESS  read-only
                STATUS deprecated
                DESCRIPTION
                      "Flag indicating whether other columns of this
                      table contain data."
    ::= { extremeVCLinkEntry 1 }

        extremeVCLinkDeviceId OBJECT-TYPE 
                SYNTAX INTEGER
                MAX-ACCESS  read-only
                STATUS deprecated
                DESCRIPTION
                      "ID of the current SummitVC device
                        connected to this Summitlink port."
    ::= { extremeVCLinkEntry 2 }

        extremeVCLinkPortIndex OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS  read-only
                STATUS deprecated
                DESCRIPTION
                      "The Summitlink subchannel number that the Summit 
                        device on the other side of the neighbouring 
                        SummitVC will use to reach this device."
    ::= { extremeVCLinkEntry 3 }
END

-- ################################################################################

EXTREME-WIRELESS-MIB DEFINITIONS ::= BEGIN

        IMPORTS 
                ifIndex                 FROM IF-MIB
                InterfaceIndex          FROM IF-MIB
        MODULE-IDENTITY         FROM SNMPv2-SMI
                OBJECT-TYPE             FROM SNMPv2-SMI
                NOTIFICATION-TYPE       FROM SNMPv2-SMI
                RowStatus               FROM SNMPv2-TC
        Unsigned32              FROM SNMPv2-SMI
                IpAddress               FROM SNMPv2-SMI
                TimeTicks               FROM SNMPv2-SMI
                Counter32               FROM SNMPv2-SMI
        Counter64               FROM SNMPv2-SMI
        Integer32               FROM SNMPv2-SMI
        TruthValue      FROM SNMPv2-TC
                MacAddress              FROM SNMPv2-TC
                DisplayString   FROM RFC1213-MIB
        extremeAgent    FROM EXTREME-BASE-MIB
        ExtremeDeviceId     FROM EXTREME-BASE-MIB
                extremeV2Traps          FROM EXTREME-BASE-MIB
        ClientAuthType          FROM EXTREME-BASE-MIB
                WPACipherSet            FROM EXTREME-BASE-MIB
                WPAKeyMgmtSet           FROM EXTREME-BASE-MIB
        WirelessRemoteConnectBindingType FROM EXTREME-BASE-MIB
                InetAddressType         FROM INET-ADDRESS-MIB
                InetAddress             FROM INET-ADDRESS-MIB
                extremeAP               FROM EXTREME-BASE-MIB
                extremeLAC              FROM EXTREME-BASE-MIB
                TEXTUAL-CONVENTION      FROM SNMPv2-TC;

        extremeWireless MODULE-IDENTITY
                LAST-UPDATED "0211230000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Wireless Access Tables"
        ::= { extremeAgent 25 }

        extremeAPTraps          OBJECT IDENTIFIER ::= { extremeV2Traps 5 }
        extremeAPTrapsPrefix    OBJECT IDENTIFIER ::= { extremeAPTraps 0 }
        extremeLACGeneral       OBJECT IDENTIFIER ::= { extremeLAC 1 }
        extremeProfile          OBJECT IDENTIFIER ::= { extremeLAC 2 }


-- *************************************************************** --
-- *************************************************************** --
Dot11Type ::= TEXTUAL-CONVENTION
          STATUS        current
          DESCRIPTION
                "The current standard supports A, B, G interfaces."
          SYNTAX INTEGER { a(1), b(2), g(3), bg(4) }

Dot11Speed ::= TEXTUAL-CONVENTION
          STATUS        current
          DESCRIPTION   "Specifies the speed in Mbps to use for the interface. A value of 0 indicates auto."
        SYNTAX BITS {   speed1(0),
                        speed2(1),
                        speed5(2),
                        speed11(3),
                        speed6(4),
                        speed9(5),
                        speed12(6),
                        speed18(7),
                        speed24(8),
                        speed36(9),
                        speed48(10),
                        speed54(11)}

-- Added for DFS support. To be used for listing channels on 
-- which Radar interference was detected.
Dot11AChannel ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION "Specifies the channel number for 802.11A interface."
    SYNTAX BITS { 
            channel36(0),
            channel40(1),
            channel44(2),
            channel52(3),
            channel56(4),
            channel60(5),
            channel64(6),
            channel100(7),
            channel104(8),
            channel108(9),
            channel112(10),
            channel116(11),
            channel120(12),
            channel124(13),
            channel128(14),
            channel132(15),
            channel140(16)
            }

Dot11AuthMode ::= TEXTUAL-CONVENTION
        STATUS     current
        DESCRIPTION "Specifies the allowed authentication type."
        SYNTAX          INTEGER { open(0), shared(1)}

NetworkAuthMode ::= TEXTUAL-CONVENTION
        STATUS     current
        DESCRIPTION "Specifies the allowed authentication type."
        SYNTAX          INTEGER { none(0), webNetlogin(1), macRadius(2), wpaPlusLegacy(3), wpaOnly(4), wpa2PlusWPA(5), wpa2Only(6)}

ExtremeWirelessCountryCode ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION "Specifies the country code the AP operates in."
    SYNTAX INTEGER { 
                        unitedStates(840),
                        japan(392),
                        taiwan(158),
                        newZealand(554),
                        albania              ( 8),       
                        algeria              ( 12),      
                        argentina            ( 32),      
                        armenia              ( 51),      
                        australia            ( 36),      
                        austria              ( 40),      
                        azerbaijan           ( 31),      
                        bahrain              ( 48),      
                        belarus              ( 112),     
                        belgium              ( 56),      
                        belize               ( 84),      
                        bolivia              ( 68),      
                        brazil               ( 76),      
                        bruneiDarussalam    ( 96),      
                        bulgaria             ( 100),     
                        canada               ( 124),     
                        chile                ( 152),     
                        china                ( 156),     
                        colombia             ( 170),     
                        costaRica           ( 188),     
                        croatia              ( 191),     
                        cyprus               ( 196),
                        czech                ( 203),     
                        denmark              ( 208),     
                        dominicanRepublic   ( 214),     
                        ecuador              ( 218),     
                        egypt                ( 818),     
                        elSalvador          ( 222),     
                        estonia              ( 233),     
                        faeroeIslands       ( 234),     
                        finland              ( 246),     
                        france               ( 250),     
                        georgia              ( 268),     
                        germany              ( 276),     
                        greece               ( 300),     
                        guatemala            ( 320),     
                        honduras             ( 340),     
                        hongKong            ( 344),     
                        hungary              ( 348),     
                        iceland              ( 352),     
                        india                ( 356),     
                        indonesia            ( 360),     
                        iran                 ( 364),     
                        iraq                 ( 368),     
                        ireland              ( 372),     
                        israel               ( 376),     
                        italy                ( 380),     
                        jamaica              ( 388),     
                        japan1               ( 393),     
                        japan2               ( 394),     
                        japan3               ( 395),     
                        jordan               ( 400),     
                        kazakhstan           ( 398),     
                        kenya                ( 404),     
                        koreaNorth          ( 408),     
                        koreaRoc            ( 410),     
                        koreaRoc2           ( 411),     
                        kuwait               ( 414),     
                        latvia               ( 428),     
                        lebanon              ( 422),     
                        libya                ( 434),     
                        liechtenstein        ( 438),     
                        lithuania            ( 440),     
                        luxembourg           ( 442),     
                        macau                ( 446),     
                        macedonia            ( 807),     
                        malaysia             ( 458),     
                        mexico               ( 484),     
                        monaco               ( 492),     
                        morocco              ( 504),     
                        netherlands          ( 528),     
                        nicaragua            ( 558),     
                        norway               ( 578),     
                        oman                 ( 512),     
                        pakistan             ( 586),     
                        panama               ( 591),     
                        paraguay             ( 600),     
                        peru                 ( 604),     
                        philippines          ( 608),     
                        poland               ( 616),     
                        portugal             ( 620),     
                        puertoRico          ( 630),     
                        qatar                ( 634),     
                        romania              ( 642),     
                        russia               ( 643),     
                        saudiArabia         ( 682),     
                        singapore            ( 702),     
                        slovakia             ( 703),     
                        slovenia             ( 705),     
                        southAfrica         ( 710),     
                        spain                ( 724),     
                        sweden               ( 752),     
                        switzerland          ( 756),     
                        syria                ( 760),     
                        thailand             ( 764),     
                        trinidadTYobago    ( 780),     
                        tunisia              ( 788),     
                        turkey               ( 792),     
                        uae                  ( 784),     
                        ukraine              ( 804),     
                        unitedKingdom       ( 826),     
                        uruguay              ( 858),     
                        uzbekistan           ( 860),     
                        venezuela            ( 862),     
                        vietNam             ( 704),     
                        yemen                ( 887),     
                        zimbabwe             ( 716),     
                        restOfTheWorld       ( 0),
                        extremeDefault       ( 998),
                        unknown              ( 999)
                        }

ExtremeWirelessAntennaType ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION "Specifies Antenna type attached to the access-point. 
    The integrated antenna is specified by CTL table on PCI eeprom.
    The detachable model 15901 is an omni-directional antenna.
    The detachable model 15902 is a  directional antenna."
    SYNTAX    INTEGER { integrated(0), detachable15901(1), detachable15902(2) }


ExtremeWirelessAntennaLocation ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION "Specifies whether the antenna is an indoor or outdoor antenna"
    SYNTAX       INTEGER { indoor(0), outdoor(1) }

ExtremeWirelessPhysInterfaceIndex ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION  "The value of a physical interface number. Each radio on an AP
                        corresponds to a physical interface. There can be multiple
                        virtual interface on each physical interface. The format
                        for the physical interface is xxxxyy where xxxx is the
                        port IF index to which the AP is connected. YY is the 
                        interface index within that AP."
    SYNTAX      Integer32(1..2147483647)

ExtremeWirelessVirtInterfaceIndex ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION  "The value of a virtual interface number. Each radio on an AP
                        corresponds to a physical interface. There can be multiple
                        virtual interface on each physical interface. The format
                        for the virtual interface is xxxxyyzz where xxxx is the
                        port IF index to which the AP is connected. YY is the 
                        physical interface index within that AP and ZZ is the index
                        of the virtual interface within that physical interface."
    SYNTAX      Integer32(1..2147483647)

ExtremeWirelessChannelAutoSelectStatus ::= TEXTUAL-CONVENTION
    STATUS        current
    DESCRIPTION   "Specifies the status of the channel auto-selection process."
    SYNTAX BITS {       notApplicable(0),
                        inProgress(1),
                        success(2),
                        radarInterferenceDuringScan(3),
                        radarInterferenceDuringOperation(4),
                        restartedDueToInterference(5)}


-- *************************************************************** --
--                      Device wide Properties                     --
-- *************************************************************** --   
extremeAPTotalAuthFailures OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This variable gives the total number of
                 Authentication failures that have been seen by all
                 the wireless ports."
        ::= { extremeLACGeneral 1 }

extremeAPTotalDetectedStations OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This variable gives the total number of detected
                 stations on all the wireless ports."
        ::= { extremeLACGeneral 2 }

extremeAPTotalAssociatedStations OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This variable gives the total number of associated
                 stations on all the wireless ports."
        ::= { extremeLACGeneral 3 }

extremeAPTotalAuthenticatedStations OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
           "This variable gives the total number of authenticated
       stations on all the wireless ports."
        ::= { extremeLACGeneral 4 }

extremeWirelessCfgMgmtVLAN OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value indicates the VLAN tag that should be
                 applied to all control traffic between the AP and
                 the platform."
        ::= { extremeLACGeneral 5 }

extremeWirelessCfgNetmask OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value is the subnet of the Mgmt Vlan"
        ::= { extremeLACGeneral 6 }

extremeWirelessCfgGateway OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value is assigned to the APs as the gateway
                for the management vlan."
        ::= { extremeLACGeneral 7 }

extremeWirelessCfgEnableWirelessTraps OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "If set to TRUE the wireless port will send traps for
                 Authentication and association events.  
                 If set to FALSE no traps will be generated.
                 Note: We always generate the wireless port status
                 traps."
        ::= { extremeLACGeneral 8 }

extremeWirelessCfgCountryCode OBJECT-TYPE
        SYNTAX           ExtremeWirelessCountryCode
        MAX-ACCESS       read-write
        STATUS           current
        DESCRIPTION
                "This variable allows configuration of the 
                 country code in which the AP will operate.

                 Setting this value will enable the AP to range
                 check frequency and other regulatory settings."
        ::= { extremeLACGeneral 10 }


-- *************************************************************** --
--             Wireless Port Configuration Table                   --
--                                                                 --
-- The configuration table contains one entry for each port on the --
-- device which can host wireless function.  Configuration of the  --
-- port is done without regard to the presence or absence of an AP --
-- on that port.                                                   --
--                                                                 --
-- *************************************************************** --
extremeWirelessPortCfgTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeWirelessPortCfgEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table contains one entry per wireless port that
                 the user has configured.  The AP does not have to be
                 plugged in for the user to configure it via this 
                 table."
        ::= { extremeLAC 3 }

extremeWirelessPortCfgEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessPortCfgEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                ""
        INDEX { extremeWirelessPortIfIndex }
        ::= { extremeWirelessPortCfgTable 1 }

ExtremeWirelessPortCfgEntry ::= SEQUENCE {
        extremeWirelessPortIfIndex                      InterfaceIndex,
        extremeWirelessPortCfgIpAddress             IpAddress,
        extremeWirelessPortCfgLocation              DisplayString,
        extremeWirelessPortCfgDetectedTimeout   TimeTicks,
        extremeWirelessPortCfgClientWatchdog    TruthValue,
        extremeWirelessPortLastChange               TimeTicks,
        extremeWirelessPortState                        INTEGER,
    extremeWirelessPortAntennaType          ExtremeWirelessAntennaType,
    extremeWirelessPortAntennaLocation      ExtremeWirelessAntennaLocation
}


extremeWirelessPortIfIndex OBJECT-TYPE
        SYNTAX          InterfaceIndex
        MAX-ACCESS      read-only 
        STATUS          current
        DESCRIPTION
                "This is the MIB-II ifIndex of the port this entry
                 describes."
        ::= { extremeWirelessPortCfgEntry 1 }

extremeWirelessPortCfgIpAddress OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value is assigned to the port for external
                 management."
        ::= { extremeWirelessPortCfgEntry 2 }

extremeWirelessPortCfgLocation OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This describes the physical location of the wireless 
                 port."
        ::= { extremeWirelessPortCfgEntry 3 }

extremeWirelessPortCfgDetectedTimeout OBJECT-TYPE
        SYNTAX          TimeTicks
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the number of seconds a station can stay
                 in the detected station table without authenticating."
        ::= { extremeWirelessPortCfgEntry 4 }

extremeWirelessPortCfgClientWatchdog OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Setting this value to true will force the AP to 
                 run a watch-dog process for system health."
        ::= { extremeWirelessPortCfgEntry 5 }

extremeWirelessPortLastChange OBJECT-TYPE
        SYNTAX          TimeTicks
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The value of sysUpTime when the port entered its last state"
        ::= { extremeWirelessPortCfgEntry 6 }

extremeWirelessPortState OBJECT-TYPE
        SYNTAX          INTEGER {
                                disabled(1),
                                enabled(2),
                                reset(3),
                                addressing(4),
                                register(5),
                                syncing(6),
                                online(7),
                                error(8)
                        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The current state of the wireless part of this port.

                 enabled  : Port is actively looking for wireless
                            interfaces.

                 disabled : Port is administratively unable to detect
                            new interfaces.

                 reset    : Interfaces have been detected and are 
                            being brought up (access point is booting).

                 addressing : IP Address is being assigned.

                 register : Interfaces are registering for service

                 syncing  : Interfaces are retrieving their 
                            configuration and updating their state.

                 online   : Interfaces are operational.

                 If an error occurs the wireless port will 
                 transistion to the error state."
        ::= { extremeWirelessPortCfgEntry 7 }

-- TODO: What is the meaning of this variable?
extremeWirelessPortAntennaType OBJECT-TYPE
        SYNTAX          ExtremeWirelessAntennaType      
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the type of the Antenna for Detachable product.
                 For Altitude-2d series, further selection is available
                 through this variable."
        ::= { extremeWirelessPortCfgEntry 8 }

extremeWirelessPortAntennaLocation OBJECT-TYPE
        SYNTAX          ExtremeWirelessAntennaLocation
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This specifies the location the detachable antenna."
        ::= { extremeWirelessPortCfgEntry 9 }

-- *************************************************************** --
--                    Wireless Port Status Table                   --
--                                                                 --
-- Status table has one entry for every attached AP.  Each entry   --
-- contains a duplicate of the values which are configured in the  --
-- configuration table, as well as status and other information    --
-- learned from the device.                                        --
-- *************************************************************** --
extremeWirelessPortStatusTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeWirelessPortStatusEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table contains one entry per detected AP."
        ::= { extremeAP 1 }

extremeWirelessPortStatusEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessPortStatusEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                ""
        INDEX { extremeWirelessPortIfIndex }
        ::= { extremeWirelessPortStatusTable 1 }

ExtremeWirelessPortStatusEntry ::= SEQUENCE {
        extremeWirelessPortIpAddress                 IpAddress,
        extremeWirelessPortNetmask                       IpAddress,
        extremeWirelessPortGateway                       IpAddress,
        extremeWirelessPortManagementIP              IpAddress,
        extremeWirelessPortEnableWirelessTraps   TruthValue,
        extremeWirelessPortLocation                      DisplayString,
        extremeWirelessPortDetectedMaxAge            TimeTicks,
        extremeWirelessPortMgmtVLAN                      INTEGER,
        extremeWirelessPortBootromVersion            DisplayString,
        extremeWirelessPortSWVersion                 DisplayString,
        extremeWirelessPortSysDescr                      DisplayString,
        extremeWirelessPortManufacturerName          DisplayString,
        extremeWirelessPortProductName               DisplayString,
        extremeWirelessPortSerialNumber              DisplayString,
        extremeWirelessPortEdpNeighborId             ExtremeDeviceId,
        extremeWirelessPortClearCounters             TruthValue,
        extremeWirelessPortClearLog                      TruthValue,
        extremeWirelessPortWatchdogReset             TruthValue,
        extremeWirelessPortNumPhysInterfaces     INTEGER,
        extremeWirelessPortHWVersion             DisplayString,
        extremeWirelessPortMacAddress            MacAddress,
        extremeWirelessPortRadiusPortID              DisplayString,
    extremeWirelessPortBootUpTime            TimeTicks,
    extremeWirelessPortCountryCode                   ExtremeWirelessCountryCode,
        extremeWirelessPortWallclockTime         INTEGER,
        extremeWirelessPortPartNumber                DisplayString,
        extremeWirelessPortPartRevision          DisplayString,
        extremeWirelessPortUpTime                TimeTicks,
    extremeWirelessPortStatusAntennaType     ExtremeWirelessAntennaType,
    extremeWirelessPortStatusAntennaLocation ExtremeWirelessAntennaLocation,
    extremeWirelessPortStatusAntenna2point4GHZGain INTEGER,
    extremeWirelessPortStatusAntenna5GHZGain INTEGER,
    extremeWirelessPortPrimaryBootloaderVersion     DisplayString,
    extremeWirelessPortSecondaryBootloaderVersion   DisplayString,
    extremeWirelessPortCurrentBootloaderInUse       INTEGER
}


extremeWirelessPortIpAddress OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value is assigned to the port for external
                 management."
        ::= { extremeWirelessPortStatusEntry 1 }

extremeWirelessPortNetmask OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value is assigned to the AP for external
                 management."
        ::= { extremeWirelessPortStatusEntry 2 }

extremeWirelessPortGateway OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value is assigned to the AP for external
                 management."
        ::= { extremeWirelessPortStatusEntry 3 }

extremeWirelessPortManagementIP OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value is used by the AP when sending out Management 
                packets to the external world. This IP is used as src-ip 
                address in Syslog messages, as NAS-Identifier in Radius requests, 
                and as Agent-Addr in SNMP trap pdu's."
        ::= { extremeWirelessPortStatusEntry 4 }

extremeWirelessPortEnableWirelessTraps OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "If set to TRUE the wireless port will send traps for
                 Authentication and association successful events.  
                 If set to FALSE no traps will be generated.

                 Note: We always generate the wireless port status
                 traps."
        ::= { extremeWirelessPortStatusEntry 5 }

extremeWirelessPortLocation OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This describes the physical location of the wireless 
                 port."
        ::= { extremeWirelessPortStatusEntry 6 }

extremeWirelessPortDetectedMaxAge OBJECT-TYPE
        SYNTAX          TimeTicks
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the number of seconds a station can stay
                 in the detected station table without authenticating."
        ::= { extremeWirelessPortStatusEntry 7 }

extremeWirelessPortMgmtVLAN OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This value indicates the VLAN tag that should be
                 applied to all control traffic between the AP and
                 the platform."
        ::= { extremeWirelessPortStatusEntry 8 }

extremeWirelessPortBootromVersion OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS              read-only
        STATUS          current
        DESCRIPTION
                "This is the current version of the bootrom on this AP."
        ::= { extremeWirelessPortStatusEntry 9 }

extremeWirelessPortSWVersion OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This is the current software version of this AP."
        ::= { extremeWirelessPortStatusEntry 10 }

extremeWirelessPortSysDescr OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This is the equivalent value of sysDescr from the AP."
        ::= { extremeWirelessPortStatusEntry 11 }

extremeWirelessPortManufacturerName OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                " "
        REFERENCE "dot11ManufacturerName"
        ::= { extremeWirelessPortStatusEntry 12 }

extremeWirelessPortProductName OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                " "
        REFERENCE "dot11ProductName"
        ::= { extremeWirelessPortStatusEntry 13 }

extremeWirelessPortSerialNumber OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This is the unique serial number for this device."
        ::= { extremeWirelessPortStatusEntry 14 }

extremeWirelessPortEdpNeighborId  OBJECT-TYPE
        SYNTAX          ExtremeDeviceId
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "EDP assigns a unique ID to each neighbor to 
                 disambiguate references.  This can be used to index 
                 into the extremeEdpTable."
        ::= { extremeWirelessPortStatusEntry 15 }

extremeWirelessPortClearCounters OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value can be set to true to force the device
                 to reset it's counters.  A read will return false."
        ::= { extremeWirelessPortStatusEntry 16 }

extremeWirelessPortClearLog OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value can be set to true to force the device
                 to clear its local log store.  A read will return
                 false."
        ::= { extremeWirelessPortStatusEntry 17 }

extremeWirelessPortWatchdogReset OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is to enable/disable watchdog timer reset on timeout. 
                Default is enable. If it is enabled, system should reset
                when the watchdog kicks in. On next bootup, it should 
                send out an syslog message to syslog server.  If it is 
                disabled, it should record the error and not reset the system."
        ::= { extremeWirelessPortStatusEntry 18 }

extremeWirelessPortNumPhysInterfaces OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-only
        STATUS          current         
        DESCRIPTION
                "Each wireless port has a set of physical interface which are
                 numbered 1-N.  This variable gives the number of 
                 physical interfaces on this AP."
        ::= { extremeWirelessPortStatusEntry 19 }

extremeWirelessPortHWVersion OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This is the current hardware version of this AP."
        ::= { extremeWirelessPortStatusEntry 20 }


extremeWirelessPortMacAddress OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Unique MAC Address assigned to the ethernet interface on the AP."
        ::= { extremeWirelessPortStatusEntry 21 }

extremeWirelessPortRadiusPortID OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "A string value that should be sent by the AP to the radius
                server as the Port-ID radius attribute in authentication requests"
        ::= { extremeWirelessPortStatusEntry 22 }

extremeWirelessPortBootUpTime OBJECT-TYPE
                SYNTAX  TimeTicks
                MAX-ACCESS      read-write
                STATUS  current
                DESCRIPTION     
                "The sysUpTime of the LAC when the port was booted up.
                Should be set only during the AP boot up."
        ::= { extremeWirelessPortStatusEntry 23 }

extremeWirelessPortCountryCode OBJECT-TYPE
                SYNTAX ExtremeWirelessCountryCode
                MAX-ACCESS      read-write
                STATUS  current
                DESCRIPTION     
                "The country code that the AP is programmed to operate in."
        ::= { extremeWirelessPortStatusEntry 24 }

extremeWirelessPortWallclockTime OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-write
                STATUS  current
                DESCRIPTION     
                "The wall clock time as known to the LAC. 
                        Expressed in number of seconds since Jan 1, 1970"
        ::= { extremeWirelessPortStatusEntry 25 }

extremeWirelessPortPartNumber OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This describes the part number of the AP."
        ::= { extremeWirelessPortStatusEntry 26 }

extremeWirelessPortPartRevision OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This describes the revision of the AP."
        ::= { extremeWirelessPortStatusEntry 27 }

extremeWirelessPortUpTime OBJECT-TYPE
                SYNTAX  TimeTicks
                MAX-ACCESS      read-write
                STATUS  current
                DESCRIPTION     
                "The number of seconds the port has been in the online state."
        ::= { extremeWirelessPortStatusEntry 28 }

extremeWirelessPortStatusAntennaType OBJECT-TYPE
        SYNTAX          ExtremeWirelessAntennaType
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the type of the Antenna for Detachable product.
                 For Altitude-2d series, further selection is available
                 through this variable."
        ::= { extremeWirelessPortStatusEntry 29 }

extremeWirelessPortStatusAntennaLocation OBJECT-TYPE
        SYNTAX          ExtremeWirelessAntennaLocation
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This specifies the location the detachable antenna."
        ::= { extremeWirelessPortStatusEntry 30 }

extremeWirelessPortStatusAntenna2point4GHZGain OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
               "This specifies 2.4GHz gain value for detachable antenna in dbi"
        ::= { extremeWirelessPortStatusEntry 31 }

extremeWirelessPortStatusAntenna5GHZGain OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
               "This specifies 5GHz gain value for detachable antenna in dbi"
        ::= { extremeWirelessPortStatusEntry 32 }

extremeWirelessPortPrimaryBootloaderVersion OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This is the version of the primary bootloader on this AP."
        ::= { extremeWirelessPortStatusEntry 33 }

extremeWirelessPortSecondaryBootloaderVersion OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This is the version of the Secondary bootloader on this AP."
        ::= { extremeWirelessPortStatusEntry 34 }

extremeWirelessPortCurrentBootloaderInUse OBJECT-TYPE
        SYNTAX INTEGER { primary(1),
                                 secondary(2) }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This specifies if the bootloader booted is primary or secondary one."
        ::= { extremeWirelessPortStatusEntry 35 }
-- *************************************************************** --
--                 Wireless Port Syslog Status Table               --
-- *************************************************************** --
extremeWirelessPortLogStatusTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeWirelessPortLogStatusEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table contains one entry for each wireless port
                 which is configured via the configuration table."
        ::= { extremeAP 2 }

extremeWirelessPortLogStatusEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessPortLogStatusEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                ""
        INDEX { extremeWirelessPortIfIndex, 
                extremeWirelessPortLogStatusIndex }
        ::= { extremeWirelessPortLogStatusTable 1 }

ExtremeWirelessPortLogStatusEntry ::= SEQUENCE {
        extremeWirelessPortLogStatusIndex       INTEGER,
        extremeWirelessPortLogStatusDestIp      InetAddress,
        extremeWirelessPortLogStatusDestIpType  InetAddressType,
        extremeWirelessPortLogStatusPort        INTEGER,
        extremeWirelessPortLogStatusFacility    INTEGER,
        extremeWirelessPortLogStatusSeverity    INTEGER,
        extremeWirelessPortLogStatusStatus      TruthValue }

extremeWirelessPortLogStatusIndex OBJECT-TYPE
        SYNTAX          INTEGER(1..9)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "There are 9 entries in this table to correspond to
                 the 8 entries configured in the cfg table plus one
                 for the LAC."
        ::= { extremeWirelessPortLogStatusEntry 1 }

extremeWirelessPortLogStatusDestIp OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the IP address to which syslog messsages
                 will be sent.  A value of 0.0.0.0 indicates that
                 this entry is disabled. The source IP for every syslog
                message comes from the ManagementIP field in 
                extremeWirelessPortStatusTable"
        ::= { extremeWirelessPortLogStatusEntry 2 }

extremeWirelessPortLogStatusDestIpType          OBJECT-TYPE
        SYNTAX                                  InetAddressType
        MAX-ACCESS                              read-write
        STATUS                                  current
        DESCRIPTION
            "The type of address specified in the object
                'extremeWirelessPortLogStatusDestIp.
             Currently, only 'ipv4' and 'dns' are supported."
        DEFVAL { ipv4 }
      ::= { extremeWirelessPortLogStatusEntry 3 }

extremeWirelessPortLogStatusPort OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the port to which syslog messages will be
                 sent."
        ::= { extremeWirelessPortLogStatusEntry 4 }

extremeWirelessPortLogStatusFacility OBJECT-TYPE
        SYNTAX          INTEGER(0..7)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Optional value for syslog facility local0-7."
        ::= { extremeWirelessPortLogStatusEntry 5 }

extremeWirelessPortLogStatusSeverity               OBJECT-TYPE
            SYNTAX  INTEGER { 
                                critical (0),
                                error (1),
                                warning (2),
                                notice (3),
                                info (4),
                                debugSummary (5),
                                debugVerbose (6),
                                debugData (7)                                   
                                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                    "The syslog message severity. All syslog
                        messages that have a severity >= specified severity, 
                        will be sent to this syslog server."
            DEFVAL { debugData }
            ::= { extremeWirelessPortLogStatusEntry 6 }

extremeWirelessPortLogStatusStatus OBJECT-TYPE
                SYNTAX TruthValue
                MAX-ACCESS  read-write
                STATUS current
                DESCRIPTION
                        "Specifies whether the log server is enabled or not."
        ::= { extremeWirelessPortLogStatusEntry 7 }


-- *************************************************************** --
--                   Wireless Port Log Table                       --
-- *************************************************************** --
extremeWirelessPortLogTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeWirelessPortLogEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table allows access to the syslog entries on
                 particular wireless ports."
        ::= { extremeAP 3 }

extremeWirelessPortLogEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessPortLogEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                ""
        INDEX { extremeWirelessPortIfIndex, 
                extremeWirelessPortLogIndex }
        ::= { extremeWirelessPortLogTable 1 }

ExtremeWirelessPortLogEntry ::= SEQUENCE {
        extremeWirelessPortLogIndex     INTEGER,
        extremeWirelessPortLogMessage   DisplayString }

extremeWirelessPortLogIndex OBJECT-TYPE
        SYNTAX          INTEGER(0..65535)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This is an arbitrary integer which is assinged to
                 entries in order of their insertion."
        ::= { extremeWirelessPortLogEntry 1 }

extremeWirelessPortLogMessage OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This is the formatted syslog message which was sent."
        ::= { extremeWirelessPortLogEntry 2 }
        
-- *************************************************************** --
--           Wireless Physical Interface Ctl Table                 --
-- This table allows for the configuration of parameters that deal --
-- with physical interfaces. Each radio on the AP is represented by--
-- a physical interface. Each physical interface can have multiple --
-- (upto 8) virtual interfaces. RF properties are configured on the--
-- physical interface using the extremeWirelessInterfaceRFCtlTable --
-- Security parameters are configured on the virtual interface     --
-- using the extremeWirelessInterfaceSecurityCtlTable          --
-- *************************************************************** --

extremeWirelessPhysInterfaceCtlTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeWirelessPhysInterfaceCtlEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table provides configuration of per-physical interface
                 values."
        ::= { extremeAP 4 }

ExtremeWirelessPhysInterfaceCtlEntry ::= SEQUENCE {
        extremeWirelessPhysInterfaceIndex               ExtremeWirelessPhysInterfaceIndex,
        extremeWirelessPhysInterfacePHYChannel       INTEGER,
        extremeWirelessPhysInterfaceSpeed                       Dot11Speed,
        extremeWirelessPhysInterfaceNumVirtInterfaces INTEGER,
    extremeWirelessPhysInterfaceChannelAutoSelectStatus ExtremeWirelessChannelAutoSelectStatus,
    extremeWirelessPhysInterfaceRadarInterfaceChannelList Dot11AChannel
}


extremeWirelessPhysInterfaceCtlEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessPhysInterfaceCtlEntry
        MAX-ACCESS      not-accessible
        STATUS          current 
        DESCRIPTION
                "Each entry is indexed by the wirelessInterfaceIndex, and
                represents a wireless interface."
        INDEX { extremeWirelessPhysInterfaceIndex }
        ::= { extremeWirelessPhysInterfaceCtlTable 1 }

extremeWirelessPhysInterfaceIndex OBJECT-TYPE
        SYNTAX  ExtremeWirelessPhysInterfaceIndex
        MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION
                "This is the ifIndex of an individual physical interface on an AP.
                Each radio will have a unique value."
        ::= { extremeWirelessPhysInterfaceCtlEntry 1 }


extremeWirelessPhysInterfacePHYChannel OBJECT-TYPE
        SYNTAX          INTEGER (0..99)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the RF channel which will be used by 
                 this transmitter.  Range should be established
                 by configuration of RegDomain and PHYType."
        ::= { extremeWirelessPhysInterfaceCtlEntry 2 }

extremeWirelessPhysInterfaceSpeed OBJECT-TYPE
        SYNTAX          Dot11Speed 
        MAX-ACCESS       read-write
        STATUS           current
        DESCRIPTION
                "This value indicates the current setting for 
                 Tx speed for the interface. Only one of thebits of this bit set can be set.
                 If all bits are unset (ie a 0 is passed as a value) then 
                 it means that the interface should choose a speed
                 based on some algorithm."
        ::= { extremeWirelessPhysInterfaceCtlEntry 3 }

extremeWirelessPhysInterfaceNumVirtInterfaces OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS       read-write
        STATUS           current
        DESCRIPTION
                "Each physical interface has a number of virtual interfaces
                 This specifies the number of virt interfaces."
        ::= { extremeWirelessPhysInterfaceCtlEntry 4 }

-- Added for DFS
extremeWirelessPhysInterfaceChannelAutoSelectStatus OBJECT-TYPE
    SYNTAX          ExtremeWirelessChannelAutoSelectStatus 
    MAX-ACCESS       read-only
    STATUS           current
    DESCRIPTION
        "This OID reflects the status of the channel auto selection process."
        ::= { extremeWirelessPhysInterfaceCtlEntry 5 }

-- Added for DFS
extremeWirelessPhysInterfaceRadarInterfaceChannelList OBJECT-TYPE
        SYNTAX          Dot11AChannel 
        MAX-ACCESS       read-only
        STATUS           current
        DESCRIPTION
                "This OID reflects the list oc 802.11(a) channels on which
radar interference was detected."
        ::= { extremeWirelessPhysInterfaceCtlEntry 6 }

        
        
-- *************************************************************** --
--           Wireless Virtual  Interface Ctl Table                 --
-- This table allows for the configuration of parameters that deal --
-- with virtual interfaces. Each radio on the AP is represented by--
-- a physical interface. Each physical interface can have multiple --
-- (upto 8) virtual interfaces. RF properties are configured on the--
-- physical interface using the extremeWirelessInterfaceRFCtlTable --
-- Security parameters are configured on the virtual interface     --
-- using the extremeWirelessInterfaceSecurityCtlTable          --
-- *************************************************************** --
extremeWirelessVirtInterfaceCtlTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeWirelessVirtInterfaceCtlEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table provides configuration of per-physical-interface
                 values."
        ::= { extremeAP 6 }

ExtremeWirelessVirtInterfaceCtlEntry ::= SEQUENCE {
        extremeWirelessVirtInterfaceIndex                       ExtremeWirelessVirtInterfaceIndex,
        extremeWirelessVirtInterfaceMacAddress              MacAddress,
        extremeWirelessVirtInterfaceMaxClients              INTEGER,
        extremeWirelessVirtInterfaceWirelessBridging    TruthValue,
        extremeWirelessVirtInterfaceLastStateChange         TimeTicks,
        extremeWirelessVirtInterfaceState                       INTEGER,
    extremeWirelessVirtInterfaceIappEnabled         TruthValue,
    extremeWirelessVirtInterfaceSvpEnabled          TruthValue
}

extremeWirelessVirtInterfaceCtlEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessVirtInterfaceCtlEntry
        MAX-ACCESS      not-accessible
        STATUS          current 
        DESCRIPTION
                "Each entry is indexed by the wirelessInterfaceIndex, and
                represents a virtual wireless interface."
        INDEX { extremeWirelessVirtInterfaceIndex }
        ::= { extremeWirelessVirtInterfaceCtlTable 1 }

extremeWirelessVirtInterfaceIndex OBJECT-TYPE
        SYNTAX  ExtremeWirelessVirtInterfaceIndex
        MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION
                "This is the ifIndex of an individual interface on an AP.
                Each virtual interface will have a unique value."
        ::= { extremeWirelessVirtInterfaceCtlEntry 1 }
        
extremeWirelessVirtInterfaceMacAddress OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The maximum number of clients that can associate with this virtual interface."
        ::= { extremeWirelessVirtInterfaceCtlEntry 2 }

extremeWirelessVirtInterfaceMaxClients OBJECT-TYPE
        SYNTAX          INTEGER (1..128)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The maximum number of clients that can associate with this virtual interface."
        ::= { extremeWirelessVirtInterfaceCtlEntry 3 }

extremeWirelessVirtInterfaceWirelessBridging OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This specifies whether wireless bridging is enabled on this interface.
                 If wireless bridging is enabled then traffic originating from a client on this
                 interface will be bridged to clients on the same VLAN on this or other 
                 virtual interfaces that have wireless bridging enabled. So basically
                 wireless bridging should be enabled on both the source and the destination
                 virtual interface for traffic to be bridged."
        ::= { extremeWirelessVirtInterfaceCtlEntry 4 }

extremeWirelessVirtInterfaceLastStateChange OBJECT-TYPE
        SYNTAX          TimeTicks
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The value of sysUpTime when the virtual interface entered its current state"
        ::= { extremeWirelessVirtInterfaceCtlEntry 5 }

extremeWirelessVirtInterfaceState OBJECT-TYPE
        SYNTAX          INTEGER { enabled(1), disabled(2) } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value specifies whether the virtual interface is active or not"
        ::= { extremeWirelessVirtInterfaceCtlEntry 6 }

extremeWirelessVirtInterfaceIappEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
    "IAPP status. A value of TRUE indicates IAPP is enabled on the
    interface."
    ::= { extremeWirelessVirtInterfaceCtlEntry 7 }

extremeWirelessVirtInterfaceSvpEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
    "SVP status. A value of TRUE indicates SVP is enabled on the
    interface."
    ::= { extremeWirelessVirtInterfaceCtlEntry 8 }

-- *************************************************************** --
--              Wireless Interface Security Ctl Table              --
-- This table allows for the configuration of per-wireless-intf    --
-- security parameters. Each Wireless interface is represented in  --
-- ifTable, and is represented by extremeWirelessInterfaceIfIndex. --
-- *************************************************************** --
extremeWirelessVirtInterfaceSecurityCtlTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeWirelessVirtInterfaceSecurityCtlEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table provides configuration of per-interface
                 values."
        ::= { extremeAP 7 }

extremeWirelessVirtInterfaceSecurityCtlEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessVirtInterfaceSecurityCtlEntry
        MAX-ACCESS      not-accessible
        STATUS          current 
        DESCRIPTION
                "Each entry is indexed by the wirelessInterfaceIndex, and
                represents a wireless interface."
        INDEX { extremeWirelessVirtInterfaceIndex }
        ::= { extremeWirelessVirtInterfaceSecurityCtlTable 1 }

ExtremeWirelessVirtInterfaceSecurityCtlEntry ::= SEQUENCE {
        extremeWirelessVirtInterfaceESSName             OCTET STRING,
        extremeWirelessVirtInterfaceSSIDInBeacon        TruthValue,
        extremeWirelessVirtInterfaceDot11AuthMode       Dot11AuthMode, 
        extremeWirelessVirtInterfaceNetworkAuthMode     NetworkAuthMode, 
        extremeWirelessVirtInterfaceDataVlan    INTEGER,
        extremeWirelessVirtInterfaceIgnoreVSAVlan       TruthValue,
        extremeWirelessVirtInterfaceWEPDefaultKey       INTEGER,
        extremeWirelessVirtInterfaceEncryptionLength            INTEGER
}

extremeWirelessVirtInterfaceESSName OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The ESS ID of this interface."
        ::= { extremeWirelessVirtInterfaceSecurityCtlEntry 1 }

extremeWirelessVirtInterfaceSSIDInBeacon OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Does this interface generate a beacon with the
                 SSID in it?"
        ::= { extremeWirelessVirtInterfaceSecurityCtlEntry 2 }

extremeWirelessVirtInterfaceDot11AuthMode OBJECT-TYPE
        SYNTAX          Dot11AuthMode
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Setting this to true indicates whether to use open or shared authentication"
        ::= { extremeWirelessVirtInterfaceSecurityCtlEntry 3 }

extremeWirelessVirtInterfaceNetworkAuthMode OBJECT-TYPE
        SYNTAX          NetworkAuthMode
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This specifies the authentication mode to use on top of dot11 MAC authentication"
        ::= { extremeWirelessVirtInterfaceSecurityCtlEntry 4 }

extremeWirelessVirtInterfaceDataVlan OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the VLAN to use for client data in case of the VLAN is not received as a VSA. 
                This VLAN is also used for authentication types like PSK, WEP, etc"
        ::= { extremeWirelessVirtInterfaceSecurityCtlEntry 5 }

extremeWirelessVirtInterfaceIgnoreVSAVlan OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "If this is set then the VLAN returned as a VSA will be ignored and the Data Vlan specified above
                will be used instead"
        ::= { extremeWirelessVirtInterfaceSecurityCtlEntry 6 }

extremeWirelessVirtInterfaceWEPDefaultKey OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value indicates the index in dot11WEPDefaultKeyTable that 
                identifies the key this interface will use to decrypt packets."
        ::= { extremeWirelessVirtInterfaceSecurityCtlEntry 7 }

extremeWirelessVirtInterfaceEncryptionLength OBJECT-TYPE
        SYNTAX      INTEGER { none(0),
                              sixtyfour(64),
                              onetwentyeight(128)  }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the length of the encryption key to use in case
                 of dot1x legacy mode and WEP. If this length is 0 then no WEP encryption."
        ::= { extremeWirelessVirtInterfaceSecurityCtlEntry 8 }

-- *************************************************************** --
--              Wireless Interface Dot1x Ctl Table              --
-- This table allows for the configuration of per-wireless-intf    --
-- dot1x parameters. Each Wireless interface is represented in  --
-- ifTable, and is represented by extremeWirelessVirtInterfaceIfIndex. --
-- *************************************************************** --
extremeWirelessVirtInterfaceDot1xCtlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeWirelessVirtInterfaceDot1xCtlEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "There is one entry in this table for each virtual interface 
                It reflects the dot1x security config"
        ::= { extremeAP 8 }

extremeWirelessVirtInterfaceDot1xCtlEntry OBJECT-TYPE
        SYNTAX  ExtremeWirelessVirtInterfaceDot1xCtlEntry
        MAX-ACCESS      not-accessible
        STATUS  current
        DESCRIPTION
                ""
        INDEX { extremeWirelessVirtInterfaceIndex }
        ::= { extremeWirelessVirtInterfaceDot1xCtlTable 1 }

ExtremeWirelessVirtInterfaceDot1xCtlEntry ::= SEQUENCE {
        extremeWirelessVirtInterfaceKeyMgmtSuite                WPAKeyMgmtSet,
        extremeWirelessVirtInterfaceMcastCipherSuite    WPACipherSet,
        extremeWirelessVirtInterfaceDot1xPSKValue               OCTET STRING,
        extremeWirelessVirtInterfaceDot1xPSKPassPhrase  DisplayString,
        extremeWirelessVirtInterfaceDot1xReAuthPeriod   INTEGER,
        extremeWirelessVirtInterfaceGroupUpdateTimeOut  Unsigned32,
        extremeWirelessVirtInterfacePairwiseUpdateTimeOut Unsigned32
}

extremeWirelessVirtInterfaceKeyMgmtSuite OBJECT-TYPE
        SYNTAX  WPAKeyMgmtSet
        MAX-ACCESS      read-write
        STATUS  current
        DESCRIPTION
                "This bitmask configures the authentication suites to be used."
        ::= { extremeWirelessVirtInterfaceDot1xCtlEntry 1 }

extremeWirelessVirtInterfaceMcastCipherSuite OBJECT-TYPE
        SYNTAX  WPACipherSet
        MAX-ACCESS      read-write
        STATUS  current
        DESCRIPTION
                "This configures the cipher suite to use for mcast traffic. The cipher suite to use for unicast traffic
                 is derived from this using the following algorithm:
                        Mcast cipher = WEP (64/128), Unicast cipher = TKIP
                        Mcast cipher = TKIP, Unicast cipher = TKIP
                        Mcast cipher = AES, Unicast cipher = AES.
                 This therefore determines the max unicast cipher suite the client can use to associate with 
                 this interface."
        ::= { extremeWirelessVirtInterfaceDot1xCtlEntry 2 }


extremeWirelessVirtInterfaceDot1xPSKValue OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(32))
        MAX-ACCESS      read-write
        STATUS          current 
        DESCRIPTION
                "The Pre-Shared Key (PSK) for when WPA in PSK mode is
                 the selected authentication suite."
        REFERENCE "dot11RSNConfigPSKValue"
        ::= { extremeWirelessVirtInterfaceDot1xCtlEntry 3 }

extremeWirelessVirtInterfaceDot1xPSKPassPhrase OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
        "The PSK, for when WPA in PSK mode is the selected authentication
         suite, is configured by extremeWirelessVirtInterfaceKeyMgmtSuite.
         An alternative manner of setting the PSK uses the password-to-key
         algorithm defined in section XXX. This variable provides a means
         to enter a pass phrase. When this object is written, the RSN
         entity shall use the password-to-key algorithm specified in
         section XXX to derive a pre-shared and populate
         extremeWirelessVirtInerfaceDot1xPSKValue with this key.
         This object is logically write-only. Reading this variable shall
         return unsuccessful status or null or zero."
        ::= { extremeWirelessVirtInterfaceDot1xCtlEntry 4 }

extremeWirelessVirtInterfaceDot1xReAuthPeriod OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Number of seconds a clients authentication will last before
                 the AP automatically issues a reauthentication request."
        ::= { extremeWirelessVirtInterfaceDot1xCtlEntry 5 }

extremeWirelessVirtInterfaceGroupUpdateTimeOut OBJECT-TYPE
        SYNTAX          Unsigned32 (1..1440)
        UNITS           "minutes"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The time in minutes after which the RSN group
                 update handshake will be retried. The timer shall
                 start at the moment the group update message is
                 sent."
        REFERENCE "dot11RSNConfigGroupUpdateTimeOut"
        DEFVAL          { 100 } -- 
        ::= { extremeWirelessVirtInterfaceDot1xCtlEntry 6 }

extremeWirelessVirtInterfacePairwiseUpdateTimeOut OBJECT-TYPE
        SYNTAX          Unsigned32 (1..1440)
        UNITS           "minutes"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The time in minutes after which the RSN 4-way
                 handshake will be retried. The timer shall start at
                 the moment a 4-way message is sent."
        REFERENCE "dot11RSNConfigPairwiseUpdateTimeOut"
        DEFVAL          { 100 } -- 
        ::= { extremeWirelessVirtInterfaceDot1xCtlEntry 7 }


-- *************************************************************** --
--                     Default WEP Key Table                       --
-- *************************************************************** --
extremeWirelessVirtInterfaceWEPKeyTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeWirelessVirtInterfaceWEPKeyEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table contains per-profile WEP keys.

                 Reference ieee802dot11.1.2.3."
        ::= { extremeAP 9 }

extremeWirelessVirtInterfaceWEPKeyEntry OBJECT-TYPE
        SYNTAX  ExtremeWirelessVirtInterfaceWEPKeyEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                " "
        INDEX { extremeWirelessVirtInterfaceIndex, extremeWirelessVirtInterfaceWEPKeyIndex }
        ::= { extremeWirelessVirtInterfaceWEPKeyTable 1 }
        
ExtremeWirelessVirtInterfaceWEPKeyEntry ::= SEQUENCE {
        extremeWirelessVirtInterfaceWEPKeyIndex INTEGER,
        extremeWirelessVirtInterfaceWEPKey              OCTET STRING,
        extremeWirelessVirtInterfaceWEPKeyStatus        TruthValue }
        
extremeWirelessVirtInterfaceWEPKeyIndex OBJECT-TYPE
        SYNTAX          INTEGER(1..4)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "There can be upto 4 wep keys for any wireless
                 interface. Four of the keys are to be used with
                 WEP Authentication, and the other four with MAC Auth."
        ::= { extremeWirelessVirtInterfaceWEPKeyEntry 1 }

extremeWirelessVirtInterfaceWEPKey OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(1..19))
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This is a write-only wep key."
        ::= { extremeWirelessVirtInterfaceWEPKeyEntry 2 }

extremeWirelessVirtInterfaceWEPKeyStatus OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "Specifies whether the key is present or not."
        ::= { extremeWirelessVirtInterfaceWEPKeyEntry 3 }

-- *************************************************************** --
--              Wireless Interface RF Ctl Table                    --
-- This table allows for the configuration of per-wireless-intf    --
-- RF parameters. Each Wireless interface is represented in        --
-- ifTable, and is represented by extremeWirelessPhysInterfaceIfIndex. --
-- *************************************************************** --
extremeWirelessPhysInterfaceRFCtlTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeWirelessPhysInterfaceRFCtlEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table provides configuration of per-interface
                 values."
        ::= { extremeAP 10 }

extremeWirelessPhysInterfaceRFCtlEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessPhysInterfaceRFCtlEntry
        MAX-ACCESS      not-accessible
        STATUS          current 
        DESCRIPTION
                "Each entry is indexed by the wirelessInterfaceIndex, and
                represents a wireless interface."
        INDEX { extremeWirelessPhysInterfaceIndex }
        ::= { extremeWirelessPhysInterfaceRFCtlTable 1 }

ExtremeWirelessPhysInterfaceRFCtlEntry ::= SEQUENCE {
        extremeWirelessPhysInterfaceBeaconPeriod        INTEGER,
        extremeWirelessPhysInterfaceTxPowerLevel        INTEGER,
        extremeWirelessPhysInterfaceDTIMPeriod  INTEGER,
        extremeWirelessPhysInterfaceFragLength  INTEGER,
        extremeWirelessPhysInterfaceLongRetry   INTEGER,        
        extremeWirelessPhysInterfaceShortRetry  INTEGER,
        extremeWirelessPhysInterfaceRTSThreshold        INTEGER,
        extremeWirelessPhysInterfaceSupportedDataRatesRxValue Dot11Speed,
        extremeWirelessPhysInterfaceSupportedDataRatesTxValue Dot11Speed,
        extremeWirelessPhysInterfacePHYType                  Dot11Type,
        extremeWirelessPhysInterfacePHYSupportedTypes     BITS,
        extremeWirelessPhysInterfacePreamble            INTEGER,
    extremeWirelessPhysInterfaceAbsTxPowerLevel INTEGER
}

extremeWirelessPhysInterfaceBeaconPeriod OBJECT-TYPE
        SYNTAX          INTEGER 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the beacon interval to use"
        ::= { extremeWirelessPhysInterfaceRFCtlEntry 1 }

extremeWirelessPhysInterfaceTxPowerLevel OBJECT-TYPE
        SYNTAX          INTEGER (1..100)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the % of max power to transmit at."
        ::= { extremeWirelessPhysInterfaceRFCtlEntry 2 }

extremeWirelessPhysInterfaceDTIMPeriod OBJECT-TYPE
        SYNTAX          INTEGER 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the DTIM period."
        ::= { extremeWirelessPhysInterfaceRFCtlEntry 3 }

extremeWirelessPhysInterfaceFragLength OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                " "
        REFERENCE "ieee802dot11.2.1.1.5."
        ::= { extremeWirelessPhysInterfaceRFCtlEntry 4 }

extremeWirelessPhysInterfaceLongRetry OBJECT-TYPE
        SYNTAX          INTEGER (1..255)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION             
                "Attribute indicates the maximum number of transmission
                 attempts of a frame whose size is > RTS."
        REFERENCE "dot11LongRetryLimit"
        ::= { extremeWirelessPhysInterfaceRFCtlEntry 5 }

extremeWirelessPhysInterfaceShortRetry OBJECT-TYPE
        SYNTAX          INTEGER (1..255)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION             
                "Attribute indicates the maximum number of transmission
                 attempts of a frame whose size is <= RTS."
        REFERENCE "dot11ShortRetryLimit"
        ::= { extremeWirelessPhysInterfaceRFCtlEntry 6 }

extremeWirelessPhysInterfaceRTSThreshold OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current 
        DESCRIPTION 
                " "
        REFERENCE "ieee802dot11.2.1.1.2."
        ::= { extremeWirelessPhysInterfaceRFCtlEntry 7 }

extremeWirelessPhysInterfaceSupportedDataRatesRxValue OBJECT-TYPE
        SYNTAX          Dot11Speed
        MAX-ACCESS      read-only
        STATUS          current 
        DESCRIPTION 
                "A bitmask of all supported datarates for Rx."
        ::= { extremeWirelessPhysInterfaceRFCtlEntry 8 }
        
extremeWirelessPhysInterfaceSupportedDataRatesTxValue OBJECT-TYPE
        SYNTAX          Dot11Speed
        MAX-ACCESS      read-only
        STATUS          current 
        DESCRIPTION 
                "A bitmask of all supported datarates for Tx."
        ::= { extremeWirelessPhysInterfaceRFCtlEntry 9 }

extremeWirelessPhysInterfacePHYType OBJECT-TYPE
        SYNTAX         Dot11Type
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
                "This variable selects between 802.11 a/b/g 
                 for this transmitter.  It should be used by
                 ap to range check frequency, etc."
        ::= { extremeWirelessPhysInterfaceRFCtlEntry 10 }

extremeWirelessPhysInterfacePHYSupportedTypes OBJECT-TYPE
        SYNTAX          BITS { bsupported(0),
                               asupported(1),
                               gsupported(2) }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This is the 802.11 standard supported by this
                 interface as a bitmask"
        ::= { extremeWirelessPhysInterfaceRFCtlEntry 11 }

extremeWirelessPhysInterfacePreamble OBJECT-TYPE
        SYNTAX          INTEGER { short(0),
                                  long(1) }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This changes the 802 preamble expected by the
                 interface."
        ::= { extremeWirelessPhysInterfaceRFCtlEntry 12 }

extremeWirelessPhysInterfaceAbsTxPowerLevel OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This is the absolute value of max power to transmit level in dBm."
    ::= { extremeWirelessPhysInterfaceRFCtlEntry 13 }

-- *************************************************************** --
-- Wireless Interface Status Table
-- *************************************************************** --
extremeWirelessInterfaceStatusTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeWirelessInterfaceStatusEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
        "This table provides statistics and information on the
        current condition of each wireless interace.
        There is one entry per virtual and physical wireless 
        interface in this table.  The values for the physical 
        interfaces represent the sum of the values for all sub
        interfaces."
        ::= { extremeAP 5 }

extremeWirelessInterfaceStatusEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessInterfaceStatusEntry
        MAX-ACCESS      not-accessible
        STATUS          current 
        DESCRIPTION
        "Each entry in this table is indexed by either a virtual or
        a physical ifIndex."
        INDEX { ifIndex }
        ::= { extremeWirelessInterfaceStatusTable 1 }
        
ExtremeWirelessInterfaceStatusEntry ::= SEQUENCE {
        extremeWirelessIntfTotalDetected    Unsigned32,
        extremeWirelessIntfTotalAuthed      Unsigned32,
        extremeWirelessIntfTotalAuthFailed  Unsigned32,
        extremeWirelessIntfTotalAssoc       Unsigned32,
    extremeWirelessIntfTotalAssocFailed Unsigned32,
        extremeWirelessIntfRateDetected     Unsigned32,
        extremeWirelessIntfRateAuthed       Unsigned32,
        extremeWirelessIntfRateAuthFailed   Unsigned32,
    extremeWirelessIntfRateAssoc        Unsigned32,
    extremeWirelessIntfRateAssocFailed  Unsigned32,
    extremeWirelessIntfBlockTime        Unsigned32,
        extremeWirelessIntfCurrentDetected    Unsigned32,
        extremeWirelessIntfCurrentAuthed      Unsigned32,
        extremeWirelessIntfCurrentAssoc       Unsigned32,
        extremeWirelessIntfCurrentForwarding  Unsigned32}

        
extremeWirelessIntfTotalDetected OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of stations which have entered
        the detected state on this wireless interface since the last
        time the counters were cleared."
        ::= { extremeWirelessInterfaceStatusEntry 1 }
        
extremeWirelessIntfTotalAuthed OBJECT-TYPE      
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of stations which have entered
        the authenticated state on this wireless interface since the 
        last time the counters were cleared.  Note that this is equal 
        to the number of stations which have entered the forwarding 
        state.  This is not necessaryly equivalent to the number of
        stations which have succeeded in MAC-level authentication."
        ::= { extremeWirelessInterfaceStatusEntry 2 }
        
extremeWirelessIntfTotalAuthFailed OBJECT-TYPE  
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of stations which have failed
        to authenticate on this wireless interface.  Note that no
        distinction is made between a MAC-layer or higher-layer
        authentication failure."
        ::= { extremeWirelessInterfaceStatusEntry 3 }
        
extremeWirelessIntfTotalAssoc OBJECT-TYPE       
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of stations which have entered
        the associated state on this wireless interface since the 
        last time the counters were cleared."
        ::= { extremeWirelessInterfaceStatusEntry 4 }

extremeWirelessIntfTotalAssocFailed OBJECT-TYPE   
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the total number of stations which have failed
    the association on this wireless interface since the 
    last time the counters were cleared."
    ::= { extremeWirelessInterfaceStatusEntry 5 }

extremeWirelessIntfRateDetected OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the rate of clients being detected on this 
         interface over a 5 second period using EMWA averaging."
        ::= { extremeWirelessInterfaceStatusEntry 6 }

extremeWirelessIntfRateAuthed OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives teh rate of clients being authenticated on this 
    interface over a 5 second period using EMWA averaging."
        ::= { extremeWirelessInterfaceStatusEntry 7 }

extremeWirelessIntfRateAuthFailed OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the rate of clients failed authentication on this
         interface over a 5 second period using EMWA averaging."
        ::= { extremeWirelessInterfaceStatusEntry 8 }

extremeWirelessIntfRateAssoc OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the rate of clients being associated on this 
    interface over a 5 second period using EMWA averaging."
    ::= { extremeWirelessInterfaceStatusEntry 9 }

extremeWirelessIntfRateAssocFailed OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the rate of clients failing association on this 
    interface over a 5 second period using EMWA averaging."
    ::= { extremeWirelessInterfaceStatusEntry 10 }

extremeWirelessIntfBlockTime OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "This value specifies the number of ticks until traffic will be 
    allowed back on this interface.  A non-zero value indicates that
    traffic has been blocked, most likely due to countermeasures."
    ::= { extremeWirelessInterfaceStatusEntry 11 }

extremeWirelessIntfCurrentDetected OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the current number of stations which are in
        the detected state on this wireless interface."
        ::= { extremeWirelessInterfaceStatusEntry 12 }
        
extremeWirelessIntfCurrentAuthed OBJECT-TYPE    
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the current number of stations which are in
        the authenticated state on this wireless interface."
        ::= { extremeWirelessInterfaceStatusEntry 13 }
        
extremeWirelessIntfCurrentAssoc OBJECT-TYPE     
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the current number of stations which are in
        the associated state on this wireless interface."
        ::= { extremeWirelessInterfaceStatusEntry 14 }

extremeWirelessIntfCurrentForwarding OBJECT-TYPE        
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the current number of stations which are in
        the forwarding state on this wireless interface."
        ::= { extremeWirelessInterfaceStatusEntry 15 }

--TODO: Do we need to fix this table
-- *************************************************************** --
--                     AP Wireless Client Table                    --
-- *************************************************************** --
extremeWirelessClientTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeWirelessClientEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table augments the Dot11AccessPointAddressTableEntry
                 to add a per-client VLAN entry."
        ::= { extremeAP 11 }
        
extremeWirelessClientEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessClientEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
        "An entry in the extremeWirelessClientTable. It is possible
         for there to be multiple IEEE 802.11 interfaces on one agent,
         each with its unique MAC address. The relationship between an
         IEEE 802.11 interface and an interface in the context of the
         Internet-standard MIB is one-to-one. As such, the value of an
         ifIndex object instance can be directly used to identify
         corresponding instances of the objects defined herein. by
         ifIndex."
    INDEX {ifIndex, extremeWirelessClientID} 
        ::= { extremeWirelessClientTable 1 }

ExtremeWirelessClientEntry ::= SEQUENCE {
        extremeWirelessClientID                 MacAddress, 
        extremeWirelessClientState              INTEGER, 
        extremeWirelessClientEncryption         WPACipherSet, 
        extremeWirelessClientSignalStrength INTEGER, 
        extremeWirelessClientLinkQuality        INTEGER, 
        extremeWirelessClientVLAN               INTEGER,
        extremeWirelessClientPriority           INTEGER,
        extremeWirelessClientAuthType           ClientAuthType,
        extremeWirelessClientLastStateChangeTime        TimeTicks, 
        extremeWirelessClientTxFrames           Counter32,
        extremeWirelessClientRxFrames           Counter32,
        extremeWirelessClientTxBytes            Counter64,
        extremeWirelessClientRxBytes            Counter64,
        extremeWirelessClientLastPacketType     INTEGER,
        extremeWirelessClientSSID               OCTET STRING,
        extremeWirelessClientStatus             RowStatus,
    extremeWirelessClientIP                     IpAddress,
    extremeWirelessClientUsername           DisplayString,
    extremeWirelessClientDecryptionFailures Counter32,
    extremeWirelessClientMICFailures        Counter32}

extremeWirelessClientID OBJECT-TYPE 
    SYNTAX MacAddress 
    MAX-ACCESS read-only 
    STATUS current 
    DESCRIPTION 
        "The Unique MAC Address of the station for which this address 
         table entry pertains." 
    ::= { extremeWirelessClientEntry 1 } 

extremeWirelessClientState OBJECT-TYPE 
    SYNTAX INTEGER { detected (1),
                        authenticated (2), 
                        associated (3) ,
                        data-forwarding (4)} 
    MAX-ACCESS read-only 
    STATUS current 
    DESCRIPTION 
        "This attribute shall indicate the current state of the connection
         between a wireless station and the AP. The attribute is
         enumerated as follows: 

        1 - Detected - station has been detected, but not is communicating with AP
        2 - Authenticated - station is authenticated but not currently 
                        associated. 
        3 - Associated - station is authenticated and associated 
        4 - Data-forwarding - station is on the network
        It is assumed that if an station is deauthenticated, or disassociated 
        then it no longer has an entry the AP's Address Table." 
    ::= { extremeWirelessClientEntry 2 } 

extremeWirelessClientEncryption OBJECT-TYPE 
    SYNTAX WPACipherSet
    MAX-ACCESS read-only 
    STATUS current 
    DESCRIPTION 
        "This attribute is contains the encryption mechanism being used 
         by the station in an AP that allows mixed encryption modes." 
    ::= { extremeWirelessClientEntry 3 } 

extremeWirelessClientSignalStrength OBJECT-TYPE 
    SYNTAX INTEGER (1..100) 
    MAX-ACCESS read-only 
    STATUS current 
    DESCRIPTION 
        "This attribute shall specify the signal strength of the last
         frame received from the station in - dBm. e.g. a value of 50
         implies -50 dBm." 
    ::= { extremeWirelessClientEntry 4 } 

extremeWirelessClientLinkQuality OBJECT-TYPE 
    SYNTAX INTEGER (1..100) 
    MAX-ACCESS read-only 
    STATUS current 
    DESCRIPTION 
        "This attribute shall contain an indication of the quality 
         of the signal as measured in the last frame received from the 
         station. TBD format of this attribute" 
    ::= { extremeWirelessClientEntry 5 } 

extremeWirelessClientVLAN OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This is the per-client VLAN which was pushed over
                 by a RADIUS server or other mechanism."
        ::= { extremeWirelessClientEntry 6 }

extremeWirelessClientPriority OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This is a per-client 802.1p value which was either
                 configured by the RADIUS server or statically through
                 the port configuration table."
        ::= { extremeWirelessClientEntry 7 }

extremeWirelessClientAuthType OBJECT-TYPE
        SYNTAX          ClientAuthType
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This is an indication of what access method was 
                 used to authenticated the client.  The strongest
                 mechanism used should be listed here, in case more
                 than one was used.  For example, if a combination of
                 mac-based shared-key and dot1x were used, this value
                 should indicated dot1x."
        ::= { extremeWirelessClientEntry 8 }

extremeWirelessClientLastStateChangeTime OBJECT-TYPE
        SYNTAX          TimeTicks
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "This is the sysUpTime of the switch when the clients state changed last"
        ::= { extremeWirelessClientEntry 9 }

extremeWirelessClientTxFrames OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS      read-only
        STATUS  current
        DESCRIPTION
                "This is the number of packets transmitted to the client"
        ::= { extremeWirelessClientEntry 10 }

extremeWirelessClientRxFrames OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS      read-only
        STATUS  current
        DESCRIPTION
                "This is the number of packets transmitted by the client"
        ::= { extremeWirelessClientEntry 11 }

extremeWirelessClientTxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS      read-only
        STATUS  current
        DESCRIPTION
                "This is the number of bytes transmitted to the client"
        ::= { extremeWirelessClientEntry 12 }

extremeWirelessClientRxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS      read-only
        STATUS  current
        DESCRIPTION
                "This is the number of bytes transmitted by the client"
        ::= { extremeWirelessClientEntry 13 }

extremeWirelessClientLastPacketType OBJECT-TYPE
        SYNTAX  INTEGER { data (0),
                                psPoll (1),
                                probeRequest (2),
                                disassociation (3),
                                deauthentication (4),
                                association (5),
                                reassociation (6),
                                authentication (7) }
--                              inf-beacon (8),
--                              adhoc-beacon (9) }                              
        MAX-ACCESS      read-only
        STATUS  current
        DESCRIPTION
                "This the the last packet type seen from the specific client"
        ::= { extremeWirelessClientEntry 14 }

extremeWirelessClientSSID OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS      read-only
        STATUS  current
        DESCRIPTION
                "The SSID that this client was using"
        ::= { extremeWirelessClientEntry 15 }

extremeWirelessClientStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS      read-write
        STATUS  current
        DESCRIPTION
                "This variable is used to delete an entry from the table.
                The only value this can be set to, is delete (6).
                
                If an entry is deleted, that is already in Associated or 
                data-forwarding state, then the AP should dis-associate the 
                particular client by sending a disassociate message.
                
                If an entry is in Authenticated state, and is deleted, then 
                the AP should 'deAuthenticate' that client.
                
                If an entry is in 'detected' state and is deleted, then the
                entry should just be removed from the table."
        ::= { extremeWirelessClientEntry 16 }

extremeWirelessClientIP OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "IP Address of the wireless client."
        ::= { extremeWirelessClientEntry 17 }

    extremeWirelessClientUsername OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Username (if any) of the wireless client."
    ::= { extremeWirelessClientEntry 18 }

extremeWirelessClientDecryptionFailures OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS      read-only
        STATUS  current
        DESCRIPTION
                "This is the number of failures during decrypting packets from this client."
        ::= { extremeWirelessClientEntry 19 }

extremeWirelessClientMICFailures OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS      read-only
        STATUS  current
        DESCRIPTION
                "This is the number of MIC failures for this client."
        ::= { extremeWirelessClientEntry 20 }

-- *************************************************************** --
--                  RF Profile Table                               --
-- *************************************************************** --
extremeRFProfile OBJECT IDENTIFIER ::= { extremeProfile 1 }

extremeRFProfileTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeRFProfileEntry
        MAX-ACCESS      not-accessible
        STATUS          current 
        DESCRIPTION
                "There is one entry in this table for each RF profile
                 defined on the LAC.  Configuration for wireless intf.
                 should only be done by manipulating these variables.

                 Changes here will be reflected in the corresponding
                 802dot11 MIB variables (see references below).

                 On bootup this table should be populated with one
                 default entry for each supported type (A, G, etc)."
        ::= { extremeRFProfile 1 } 

extremeRFProfileEntry OBJECT-TYPE
        SYNTAX          ExtremeRFProfileEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                ""
        INDEX { extremeRFProfileIndex }
        ::= { extremeRFProfileTable 1 }

ExtremeRFProfileEntry ::= SEQUENCE {
        extremeRFProfileIndex           INTEGER,
        extremeRFProfileName            DisplayString,
        extremeRFProfileType            Dot11Type,
        extremeRFProfileBeaconInterval  INTEGER,
        extremeRFProfileDTIM            INTEGER,
        extremeRFProfileFragLength      INTEGER,
        extremeRFProfileRTSThresh       INTEGER,
        extremeRFProfilePreamble        INTEGER,
        extremeRFProfileShortRetry      INTEGER,
        extremeRFProfileLongRetry       INTEGER,
        extremeRFProfileStatus          RowStatus }

extremeRFProfileIndex OBJECT-TYPE
        SYNTAX          INTEGER(1..34)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "Integer index for this table.  This is here to avoid
                 having to index into the table via the string name."
        ::= { extremeRFProfileEntry 1 }

extremeRFProfileName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(1..32))
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "String name of this profile.  The value |default| is
                 a special token and should not be allowed."
        ::= { extremeRFProfileEntry 2 }

extremeRFProfileType OBJECT-TYPE
        SYNTAX          Dot11Type
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This is the type of this RF profile.  This
                 will decide the ranges of some of the values
                 (i.e. channel)."
        ::= { extremeRFProfileEntry 3 }

extremeRFProfileBeaconInterval OBJECT-TYPE
        SYNTAX          INTEGER(1..65535)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This is the number of TU between beacon frames."
        REFERENCE "ieee802dot11.1.1.1.12."
        ::= { extremeRFProfileEntry 5 }

extremeRFProfileDTIM OBJECT-TYPE
        SYNTAX          INTEGER(1..255)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                " "
        REFERENCE "ieee802dot11.1.1.1.13."
        ::= { extremeRFProfileEntry 6 }

extremeRFProfileFragLength OBJECT-TYPE
        SYNTAX          INTEGER(256..2345)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                " "
        REFERENCE "ieee802dot11.2.1.1.5."
        ::= { extremeRFProfileEntry 7 }

extremeRFProfileRTSThresh OBJECT-TYPE
        SYNTAX          INTEGER(0..2347)
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION 
                " "
        REFERENCE "ieee802dot11.2.1.1.2."
        ::= { extremeRFProfileEntry 8 }

extremeRFProfilePreamble OBJECT-TYPE
        SYNTAX          INTEGER { short(0),
                                  long(1) }
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This changes the 802 preamble expected by the
                 interface."
        ::= { extremeRFProfileEntry 9 }

extremeRFProfileShortRetry OBJECT-TYPE
        SYNTAX          INTEGER (1..255)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "Attribute indicates the maximum number of transmission
                 attempts of a frame whose size is <= RTS."
        REFERENCE "dot11ShortRetryLimit"
        ::= { extremeRFProfileEntry 11 }

extremeRFProfileLongRetry OBJECT-TYPE
        SYNTAX          INTEGER (1..255)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION             
                "Attribute indicates the maximum number of transmission
                 attempts of a frame whose size is > RTS."
        REFERENCE "dot11LongRetryLimit"
        ::= { extremeRFProfileEntry 12 }

extremeRFProfileStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "Standard row-status semantics."
        ::= { extremeRFProfileEntry 13 }


-- *************************************************************** --
--                      Security Profile Table                     --
-- *************************************************************** --


extremeSecurityProfile OBJECT IDENTIFIER ::= { extremeProfile 2 }

extremeSecurityProfileTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeSecurityProfileEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "There is one entry in this table per security 
                 profile on the LAC.  Each profile is identified by a
                 string name."
        ::= { extremeSecurityProfile 1 }

extremeSecurityProfileEntry OBJECT-TYPE
        SYNTAX          ExtremeSecurityProfileEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                ""
        INDEX { extremeSecurityProfileIndex }
        ::= { extremeSecurityProfileTable 1 }

ExtremeSecurityProfileEntry ::= SEQUENCE {
        extremeSecurityProfileIndex             INTEGER,
        extremeSecurityProfileName              DisplayString,
        extremeSecurityProfileESSName           OCTET STRING,
        extremeSecurityProfileSSIDInBeacon              TruthValue,
        extremeSecurityProfileDot11AuthMode     Dot11AuthMode,
        extremeSecurityProfileNetworkAuthMode   NetworkAuthMode,
        extremeSecurityProfileDataVlan                  INTEGER,
        extremeSecurityProfileIgnoreVSAVlan             TruthValue,
    extremeSecurityWEPDefaultKey  INTEGER,
        extremeSecurityProfileEncryptionLength  INTEGER, 
        extremeSecurityProfileStatus            RowStatus }

extremeSecurityProfileIndex OBJECT-TYPE
        SYNTAX          INTEGER(1..32)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This is an integer index used instead of string
                 name."
        ::= { extremeSecurityProfileEntry 1 }

extremeSecurityProfileName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(1..32))
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This is a unique string name which identifies this
                 profile.  The token |default| is special and should
                 not be allowed."
        ::= { extremeSecurityProfileEntry 2 }

extremeSecurityProfileESSName OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(0..32))
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This is the desired ESS name."
        REFERENCE "ieee802dot11.1.1.1.9"
        ::= { extremeSecurityProfileEntry 3 }

extremeSecurityProfileSSIDInBeacon OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "Setting this value to true will have the channel
                 place the ssid in the beacon frame."
        ::= { extremeSecurityProfileEntry 4 }

extremeSecurityProfileDot11AuthMode OBJECT-TYPE
        SYNTAX          Dot11AuthMode
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "Specified whether to use open or shared authentication"
        ::= { extremeSecurityProfileEntry 5 }

extremeSecurityProfileNetworkAuthMode OBJECT-TYPE
        SYNTAX          NetworkAuthMode
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This specifies the authentication to use on top of dot11 mac authentication"
        ::= { extremeSecurityProfileEntry 6 }

extremeSecurityProfileDataVlan OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This specifies the VLAN to use in case it does not come back as a VSA or in case the IgnoreVSAVlan is set
                 to true"
        ::= { extremeSecurityProfileEntry 7 }

extremeSecurityProfileIgnoreVSAVlan OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "This specifies if Vlan associations in VSAs from the radius server has to be ignored or not"
        ::= { extremeSecurityProfileEntry 8 }

extremeSecurityWEPDefaultKey OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This value indicates the index in extremeWEPKeyTable that 
                identifies the key this interface will use to decrypt packets."
        ::= { extremeSecurityProfileEntry 9 }

extremeSecurityProfileEncryptionLength OBJECT-TYPE
    SYNTAX      INTEGER { none(0),
                          sixtyfour(64),
                          onetwentyeight(128)  }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This gives the size in bits of the key.
         This variable defines the length of all WEP keys and also
         the encryption to use in case of legacy dot1x.
         If the encryption is set to none then no WEP encryption is set."
    ::= { extremeSecurityProfileEntry 10 }

-- extremeSecurityEnableWebNetlogin OBJECT-TYPE
--        SYNTAX          TruthValue
--        MAX-ACCESS      read-create
--        STATUS          current
--        DESCRIPTION
--                "Enable disable netlogin on the wireless interface where
--                security profile is applied."
--        ::= { extremeSecurityProfileEntry 11 }

extremeSecurityProfileStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "Standard row-creation semantics."
        ::= { extremeSecurityProfileEntry 11 }

extremeSecurityDot1xConfigTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeSecurityDot1xConfigEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "There is one entry in this table per security 
                 profile on the LAC. It reflects the dot1x security config"
        ::= { extremeSecurityProfile 2 }

extremeSecurityDot1xConfigEntry OBJECT-TYPE
        SYNTAX  ExtremeSecurityDot1xConfigEntry
        MAX-ACCESS      not-accessible
        STATUS  current
        DESCRIPTION
                ""
        INDEX { extremeSecurityProfileIndex }
        ::= { extremeSecurityDot1xConfigTable 1 }

ExtremeSecurityDot1xConfigEntry ::= SEQUENCE {
        extremeSecurityKeyMgmtSuite             WPAKeyMgmtSet,
        extremeSecurityMcastCipherSuite WPACipherSet,
        extremeSecurityDot1xPSKValue            OCTET STRING,
        extremeSecurityDot1xPSKPassPhrase       DisplayString,
        extremeSecurityDot1xReAuthPeriod        INTEGER,
        extremeSecurityGroupUpdateTimeOut       Unsigned32,
        extremeSecurityPairwiseUpdateTimeOut Unsigned32
}

extremeSecurityKeyMgmtSuite OBJECT-TYPE
        SYNTAX  WPAKeyMgmtSet
        MAX-ACCESS      read-write
        STATUS  current
        DESCRIPTION
                "This bitmask configures the authentication suites to be used."
        ::= { extremeSecurityDot1xConfigEntry 1 }

extremeSecurityMcastCipherSuite OBJECT-TYPE
        SYNTAX  WPACipherSet
        MAX-ACCESS      read-write
        STATUS  current
        DESCRIPTION
                "This configures the cipher suite to use for mcast traffic. The cipher suite to use for unicast traffic
                 is derived from this using the following algorithm:
                        Mcast cipher = WEP (64/128), Unicast cipher = TKIP
                        Mcast cipher = TKIP, Unicast cipher = TKIP
                        Mcast cipher = AES, Unicast cipher = AES.
                 This therefore determines the max unicast cipher suite the client can use to associate with 
                 this interface."
        ::= { extremeSecurityDot1xConfigEntry 2 }


extremeSecurityDot1xPSKValue OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(32))
        MAX-ACCESS      read-write
        STATUS          current 
        DESCRIPTION
                "The Pre-Shared Key (PSK) for when RSN in PSK mode is
                 the selected authentication suite."
        REFERENCE "dot11RSNConfigPSKValue"
        ::= { extremeSecurityDot1xConfigEntry 3 }

extremeSecurityDot1xPSKPassPhrase OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
        "The PSK, for when WPA in PSK mode is the selected authentication
         suite, is configured by extremeSecurityKeyMgmtSuite.
         An alternative manner of setting the PSK uses the password-to-key
         algorithm defined in section XXX. This variable provides a means
         to enter a pass phrase. When this object is written, the RSN entity
         shall use the password-to-key algorithm specified in section XXX to
         derive a pre-shared and populate extremeSecurityDot1xPSKValue with this key.
         This object is logically write-only. Reading this variable shall
         return unsuccessful status or null or zero."
        ::= { extremeSecurityDot1xConfigEntry 4 }

extremeSecurityDot1xReAuthPeriod OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Number of seconds a clients authentication will last before
                 the AP automatically issues a reauthentication request."
        ::= { extremeSecurityDot1xConfigEntry 5 }

extremeSecurityGroupUpdateTimeOut OBJECT-TYPE
        SYNTAX          Unsigned32 (1..1440)
        UNITS           "minutes"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The time in minutes after which the RSN group
                 update handshake will be retried. The timer shall
                 start at the moment the group update message is
                 sent."
        REFERENCE "dot11RSNConfigGroupUpdateTimeOut"
        DEFVAL          { 100 } -- 
        ::= { extremeSecurityDot1xConfigEntry 6 }

extremeSecurityPairwiseUpdateTimeOut OBJECT-TYPE
        SYNTAX          Unsigned32 (1..1440)
        UNITS           "minutes"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The time in minutes after which the RSN 4-way
                 handshake will be retried. The timer shall start at
                 the moment a 4-way message is sent."
        REFERENCE "dot11RSNConfigPairwiseUpdateTimeOut"
        DEFVAL          { 100 } -- 
        ::= { extremeSecurityDot1xConfigEntry 7 }

-- *************************************************************** --
--                     Default WEP Key Table                       --
-- *************************************************************** --
extremeWEPKeyTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeWEPKeyEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table contains per-profile WEP keys.

                 Reference ieee802dot11.1.2.3."
        ::= { extremeSecurityProfile 4 }

extremeWEPKeyEntry OBJECT-TYPE
        SYNTAX  ExtremeWEPKeyEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                " "
        INDEX { extremeSecurityProfileIndex, extremeWEPKeyIndex }
        ::= { extremeWEPKeyTable 1 }
        
ExtremeWEPKeyEntry ::= SEQUENCE {
        extremeWEPKeyIndex      INTEGER,
        extremeWEPKey           OCTET STRING,
        extremeWEPKeyStatus     RowStatus }
        
extremeWEPKeyIndex OBJECT-TYPE
        SYNTAX          INTEGER(0..8)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "There can be upto 8 wep keys for any wireless
                 interface. Four of the keys are to be used with
                 WEP Authentication, and the other four with MAC Auth."
        ::= { extremeWEPKeyEntry 1 }

extremeWEPKey OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(1..19))
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This is a write-only wep key."
        ::= { extremeWEPKeyEntry 2 }

extremeWEPKeyStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "Standard row-creation semantics."
        ::= { extremeWEPKeyEntry 3 }

-- *************************************************************** --
--              Wireless Physical Interface Config Table           --
-- *************************************************************** --
extremeWirelessPhysInterfaceConfigTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeWirelessPhysInterfaceConfigEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table contains the configured bindings between    
                 physical wireless interfaces and RF profiles and other
                 RF properties. There is one instance of a physical wireless
                 interface per radio on the AP.

                 Entries in this table have a duration that exceeds
                 the lifetime of entries in the wirelessPhysInterfaceCtlTable.
                 A configured binding spans the reset or removal of 
                 a wireless interface.

                 Entries can be removed from this table by the user.

                 If there is a mismatch between a new wireless port
                 and a previously configured profile, the default
                 profile will be applied and this table will be
                 updated."
        ::= { extremeProfile 3 }

extremeWirelessPhysInterfaceConfigEntry OBJECT-TYPE
        SYNTAX  ExtremeWirelessPhysInterfaceConfigEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                " "
        INDEX { extremeWirelessPhysInterfaceIndex }
        ::= { extremeWirelessPhysInterfaceConfigTable 1 }

ExtremeWirelessPhysInterfaceConfigEntry ::= SEQUENCE {
        extremeWirelessPhysInterfaceConfigRFProfile             INTEGER,
        extremeWirelessPhysInterfaceConfigRFChannel             INTEGER,
        extremeWirelessPhysInterfaceConfigSpeed         Dot11Speed,
        extremeWirelessPhysInterfaceConfigPowerLevel    INTEGER 
}
        
extremeWirelessPhysInterfaceConfigRFProfile OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This is the index into the extremeRFProfileTable for
                 the RF profile that this wireless interface is bound 
                 to.  

                 The default value is equivalent to the profile index for
                 the interface-appropriate default in the table."
        ::= { extremeWirelessPhysInterfaceConfigEntry 1 }
                 
extremeWirelessPhysInterfaceConfigRFChannel     OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This is the RF channel which has been selected for this
                 wireless interface.  It should be one of the supported 
                 channels as given by the phy tables in the dot11 mib."
        ::= { extremeWirelessPhysInterfaceConfigEntry 2 }

extremeWirelessPhysInterfaceConfigSpeed OBJECT-TYPE
        SYNTAX          Dot11Speed
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This is the speed to configure the interface at. A value of 0 indicates
                 automatic speed detection."
        ::= { extremeWirelessPhysInterfaceConfigEntry 3 }

extremeWirelessPhysInterfaceConfigPowerLevel OBJECT-TYPE
        SYNTAX          INTEGER 
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This value specifies the tx power (in % of max power) to use."
        ::= { extremeWirelessPhysInterfaceConfigEntry 4 }

-- *************************************************************** --
--              Wireless Virtual  Interface Config Table           --
-- *************************************************************** --
extremeWirelessVirtInterfaceConfigTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeWirelessVirtInterfaceConfigEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table contains the configured bindings between    
                 virtual wireless interfaces and security profiles and other
                 security properties. There are upto 8 virtual interface for
                 each physical interface.

                 Entries in this table have a duration that exceeds
                 the lifetime of entries in the wirelessVirtInterfaceCtlTable.
                 A configured binding spans the reset or removal of 
                 a wireless interface.

                 Entries can be removed from this table by the user."

        ::= { extremeProfile 4 }

extremeWirelessVirtInterfaceConfigEntry OBJECT-TYPE
        SYNTAX  ExtremeWirelessVirtInterfaceConfigEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                " "
        INDEX { extremeWirelessVirtInterfaceIndex }
        ::= { extremeWirelessVirtInterfaceConfigTable 1 }

ExtremeWirelessVirtInterfaceConfigEntry ::= SEQUENCE {
        extremeWirelessVirtInterfaceConfigSecurityProfile       INTEGER,
        extremeWirelessVirtInterfaceConfigMaxClients                    INTEGER,
        extremeWirelessVirtInterfaceConfigWirelessBridging              TruthValue,
        extremeWirelessVirtInterfaceConfigState                 INTEGER
}
        
extremeWirelessVirtInterfaceConfigSecurityProfile OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the index into the extremeSecurityProfileTable for
                 the security profile that this wireless interface is bound 
                 to.  

                 The default value is equivalent to the profile index for
                 the interface-appropriate default in the table."
        ::= { extremeWirelessVirtInterfaceConfigEntry 1 }

extremeWirelessVirtInterfaceConfigMaxClients OBJECT-TYPE
        SYNTAX          INTEGER (1..128)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The maximum number of clients that can associate with this virtual interface."
        ::= { extremeWirelessVirtInterfaceConfigEntry 2 }

extremeWirelessVirtInterfaceConfigWirelessBridging OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This specifies whether wireless bridging is enabled on this interface.
                 If wireless bridging is enabled then traffic originating from a client on this
                 interface will be bridged to clients on the same VLAN on this or other 
                 virtual interfaces that have wireless bridging enabled. So basically
                 wireless bridging should be enabled on both the source and the destination
                 virtual interface for traffic to be bridged."
        ::= { extremeWirelessVirtInterfaceConfigEntry 3 }

extremeWirelessVirtInterfaceConfigState OBJECT-TYPE
        SYNTAX          INTEGER { enabled(0), disabled(1) } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value specifies whether the virtual interface is active or not"
        ::= { extremeWirelessVirtInterfaceConfigEntry 4 }

-- *************************************************************** --
--                      Antenna Profile Table                     --
-- *************************************************************** --

extremeAntennaProfile OBJECT IDENTIFIER ::= { extremeProfile 5 }

extremeAntennaProfileTable OBJECT-TYPE
SYNTAX  SEQUENCE OF ExtremeAntennaProfileEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "There is one entry in this table per  antenna
                profile on the LAC.  Each profile is identified by a
                string name."
        ::= { extremeAntennaProfile 1 }

extremeAntennaProfileEntry OBJECT-TYPE
SYNTAX      ExtremeAntennaProfileEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
""
        INDEX { extremeAntennaProfileIndex }
        ::= { extremeAntennaProfileTable 1 }

ExtremeAntennaProfileEntry ::= SEQUENCE
{
    extremeAntennaProfileIndex          INTEGER,
    extremeAntennaProfileName           DisplayString,
    extremeAntennaProfile2point4GHZGain INTEGER,
    extremeAntennaProfile5GHZGain               INTEGER,
    extremeAntennaProfileStatus         RowStatus 
}

extremeAntennaProfileIndex OBJECT-TYPE
    SYNTAX      INTEGER(1..32)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "This is an integer index used instead of string name."
    ::= { extremeAntennaProfileEntry 1 }

extremeAntennaProfileName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
    "This is a unique string name which identifies this
      profile.  The token |default| is special and should
      not be allowed."
    ::= { extremeAntennaProfileEntry 2 }

extremeAntennaProfile2point4GHZGain OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This specifies 2.4GHz gain value for detachable antenna in dbi"
    ::= { extremeAntennaProfileEntry 3 }

extremeAntennaProfile5GHZGain OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This specifies 5GHz gain value for detachable antenna in dbi"
    ::= { extremeAntennaProfileEntry 4 }

extremeAntennaProfileStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Standard row-creation semantics."
    ::= { extremeAntennaProfileEntry 5 }

-- *************************************************************** --
--                   RemoteConnect configuration                         --
-- *************************************************************** --


extremeWirelessRemoteConnectGlobalCfgGroup OBJECT IDENTIFIER ::=   { extremeProfile 6 }

extremeWirelessRemoteConnectGlobalBindingType OBJECT-TYPE
  SYNTAX                WirelessRemoteConnectBindingType
  MAX-ACCESS  read-write
  STATUS current
  DESCRIPTION
  "Global Binding Tye"
 ::= { extremeWirelessRemoteConnectGlobalCfgGroup 1 }

extremeWirelessRemoteConnectBindingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessRemoteConnectBindingEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table specifies the RemoteConnect binding configuration for various ports."
        ::= { extremeProfile 7 }

extremeWirelessRemoteConnectBindingEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessRemoteConnectBindingEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                " "
        INDEX { extremeWirelessRemoteConnectBindingPortIndex }
        ::= { extremeWirelessRemoteConnectBindingTable 1 }

ExtremeWirelessRemoteConnectBindingEntry ::= SEQUENCE {
        extremeWirelessRemoteConnectBindingPortIndex    INTEGER,
        extremeWirelessRemoteConnectBindingIfIndex      Integer32,
        extremeWirelessRemoteConnectBindingType WirelessRemoteConnectBindingType,
        extremeWirelessRemoteConnectBindingMAC  MacAddress,
        extremeWirelessRemoteConnectBindingSerial       OCTET STRING,
        extremeWirelessRemoteConnectBindingIPAddressType        InetAddressType,
        extremeWirelessRemoteConnectBindingIPAddress    InetAddress,
        extremeWirelessRemoteConnectBindingEnabled      TruthValue,
        extremeWirelessRemoteConnectBindingBound        TruthValue,
        extremeWirelessRemoteConnectBindingRowStatus    RowStatus}

extremeWirelessRemoteConnectBindingPortIndex    OBJECT-TYPE
        SYNTAX  INTEGER(1..48)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The index of this binding. This maps one-to-one with the value
                        specified in the CLI. For example, if you say v:1 in the CLI, then
                        this value should be 1."
        ::= { extremeWirelessRemoteConnectBindingEntry 1}

extremeWirelessRemoteConnectBindingIfIndex      OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This is the IF index that is used in the extremeWirelessPortConfigTable
                        etc to refer to this RemoteConnect port."
        ::= { extremeWirelessRemoteConnectBindingEntry 2}

extremeWirelessRemoteConnectBindingType OBJECT-TYPE
        SYNTAX          WirelessRemoteConnectBindingType
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This is the type of binding. Based on this, one of the following columns will be valid."
        ::= { extremeWirelessRemoteConnectBindingEntry 3 }

extremeWirelessRemoteConnectBindingMAC OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The MAC address of the AP that is bound to this virtual port. 
                        This is valid only if the extremeWirelessRemoteConnectBindingType is set to
                        mac-address"
        ::= { extremeWirelessRemoteConnectBindingEntry 4}

extremeWirelessRemoteConnectBindingSerial OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The serial number of the AP that is bound to this virtual port. 
                        This is valid only if the extremeWirelessRemoteConnectBindingType is set to
                        serial-number"
        ::= { extremeWirelessRemoteConnectBindingEntry 5}

extremeWirelessRemoteConnectBindingIPAddressType OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The IP address type of the AP that is bound to this virtual port. 
                        This is valid only if the extremeWirelessRemoteConnectBindingType is set to
                        ip-address"
        ::= { extremeWirelessRemoteConnectBindingEntry 6}

extremeWirelessRemoteConnectBindingIPAddress OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The IP address of the AP that is bound to this virtual port. 
                        This is valid only if the extremeWirelessRemoteConnectBindingType is set to
                        ip-address"
        ::= { extremeWirelessRemoteConnectBindingEntry 7}

extremeWirelessRemoteConnectBindingEnabled      OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "An entry in this table can be created but left as disabled. If you 
                        set this variable to True then the RemoteConnect controller will consider
                        this binding when trying to map APs to RemoteConnect ports. Else, it will
                        ignore it."
        ::= {extremeWirelessRemoteConnectBindingEntry 8}

extremeWirelessRemoteConnectBindingBound        OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Specifies if an AP has come up and has been matched to this binding.
                        If this is true, then the extremeWirelessPortStatus table will have
                        an entry for this RemoteConnect port."
        ::= {extremeWirelessRemoteConnectBindingEntry 9}

extremeWirelessRemoteConnectBindingRowStatus    OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "RowStatus attribute. When this row is deleted, the binding goes away"
        ::= {extremeWirelessRemoteConnectBindingEntry 10}

-- ***************************************************************************************
-- This table specifies how the controller should choose to redirect certain APs to other
-- controllers
-- ***************************************************************************************
extremeWirelessRemoteConnectRedirectBindingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessRemoteConnectRedirectBindingEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table specifies the RemoteConnect redirection configuration for various ports."
        ::= { extremeProfile 8 }

extremeWirelessRemoteConnectRedirectBindingEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessRemoteConnectRedirectBindingEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                " "
        INDEX { extremeWirelessRemoteConnectRedirectBindingIndex }
        ::= { extremeWirelessRemoteConnectRedirectBindingTable 1 }

ExtremeWirelessRemoteConnectRedirectBindingEntry ::= SEQUENCE {
        extremeWirelessRemoteConnectRedirectBindingIndex        INTEGER,
        extremeWirelessRemoteConnectRedirectBindingType WirelessRemoteConnectBindingType,
        extremeWirelessRemoteConnectRedirectBindingMAC  MacAddress,
        extremeWirelessRemoteConnectRedirectBindingSerial       OCTET STRING,
        extremeWirelessRemoteConnectRedirectBindingIPAddressType        InetAddressType,
        extremeWirelessRemoteConnectRedirectBindingIPAddress    InetAddress,
        extremeWirelessRemoteConnectRedirectBindAttachSwitchIPAddrType  InetAddressType,
        extremeWirelessRemoteConnectRedirectBindAttachSwitchIPAddr      InetAddress,
        extremeWirelessRemoteConnectRedirectBindingEnabled              TruthValue,
        extremeWirelessRemoteConnectRedirectBindingNumRedirects Counter32,
        extremeWirelessRemoteConnectRedirectBindingRowStatus            RowStatus}

extremeWirelessRemoteConnectRedirectBindingIndex        OBJECT-TYPE
        SYNTAX  INTEGER(1..255)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The index of this RedirectBinding."
        ::= { extremeWirelessRemoteConnectRedirectBindingEntry 1}

extremeWirelessRemoteConnectRedirectBindingType OBJECT-TYPE
        SYNTAX          WirelessRemoteConnectBindingType
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "This is the type of RedirectBinding. Based on this, one of the following columns will be valid."
        ::= { extremeWirelessRemoteConnectRedirectBindingEntry 2 }

extremeWirelessRemoteConnectRedirectBindingMAC OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The MAC address of the AP that will be redirected. 
                        This is valid only if the extremeWirelessRemoteConnectRedirectBindingType is set to
                        mac-address"
        ::= { extremeWirelessRemoteConnectRedirectBindingEntry 3}

extremeWirelessRemoteConnectRedirectBindingSerial OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The serial number of the AP that is bound to this virtual port. 
                        This is valid only if the extremeWirelessRemoteConnectRedirectBindingType 
                        is set to serial-number"
        ::= { extremeWirelessRemoteConnectRedirectBindingEntry 4}

extremeWirelessRemoteConnectRedirectBindingIPAddressType OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The IP address type of the AP that will be redirected. 
                        This is valid only if the extremeWirelessRemoteConnectRedirectBindingType 
                        is set to ip-address"
        ::= { extremeWirelessRemoteConnectRedirectBindingEntry 5}

extremeWirelessRemoteConnectRedirectBindingIPAddress OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The IP address of the AP that will be redirected. 
                        This is valid only if the extremeWirelessRemoteConnectRedirectBindingType 
                        is set to ip-address"
        ::= { extremeWirelessRemoteConnectRedirectBindingEntry 6}

extremeWirelessRemoteConnectRedirectBindAttachSwitchIPAddrType OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The IP address type of the slave "
        ::= { extremeWirelessRemoteConnectRedirectBindingEntry 7}

extremeWirelessRemoteConnectRedirectBindAttachSwitchIPAddr OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The IP address of the slave"
        ::= { extremeWirelessRemoteConnectRedirectBindingEntry 8}

extremeWirelessRemoteConnectRedirectBindingEnabled      OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "An entry in this table can be created but left as disabled. If you 
                        set this variable to True then the RemoteConnect controller will consider
                        this RedirectBinding when trying to redirect APs. Else, it will
                        ignore it."
        ::= {extremeWirelessRemoteConnectRedirectBindingEntry 9}

extremeWirelessRemoteConnectRedirectBindingNumRedirects OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The number of times this redirect has been invoked."
        ::= {extremeWirelessRemoteConnectRedirectBindingEntry 10}

extremeWirelessRemoteConnectRedirectBindingRowStatus    OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Standard row status semantics."
        ::= {extremeWirelessRemoteConnectRedirectBindingEntry 11}

-- ***************************************************************************************
-- This table specifies the list of APs that could not be bound or redirected due to 
-- a lack of mapping on this controller
-- ***************************************************************************************

extremeWirelessRemoteConnectDeviceDBGroup OBJECT IDENTIFIER ::=   { extremeProfile 9 }

extremeWirelessRemoteConnectDeviceDBTimeOut OBJECT-TYPE
  SYNTAX  INTEGER (0 | 30..3600)
  MAX-ACCESS  read-write
  STATUS current
  DESCRIPTION
  "Timeout value for unbound APs entry in seconds. 0 for disable"
 ::= { extremeWirelessRemoteConnectDeviceDBGroup 1 }


extremeWirelessRemoteConnectUnboundAPsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessRemoteConnectUnboundAPsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table contains the list of APs that could not be bound or redirected."
        ::= { extremeProfile 10 }

extremeWirelessRemoteConnectUnboundAPsEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessRemoteConnectUnboundAPsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                " "
        INDEX { extremeWirelessRemoteConnectUnboundAPsIndex }
        ::= { extremeWirelessRemoteConnectUnboundAPsTable 1 }

ExtremeWirelessRemoteConnectUnboundAPsEntry ::= SEQUENCE {
        extremeWirelessRemoteConnectUnboundAPsIndex     INTEGER,
        extremeWirelessRemoteConnectUnboundAPsMAC       MacAddress,
        extremeWirelessRemoteConnectUnboundAPsSerial    OCTET STRING,
        extremeWirelessRemoteConnectUnboundAPsIPAddressType     InetAddressType,
        extremeWirelessRemoteConnectUnboundAPsIPAddress InetAddress,
        extremeWirelessRemoteConnectUnboundAPsNumAttempts       Counter32,
        extremeWirelessRemoteConnectUnboundAPsRowStatus RowStatus}

extremeWirelessRemoteConnectUnboundAPsIndex     OBJECT-TYPE
        SYNTAX  INTEGER(0..65535)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The index of this table."
        ::= { extremeWirelessRemoteConnectUnboundAPsEntry 1}

extremeWirelessRemoteConnectUnboundAPsMAC OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The MAC address of the unbound AP."
        ::= { extremeWirelessRemoteConnectUnboundAPsEntry 2}

extremeWirelessRemoteConnectUnboundAPsSerial OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The serial number of the unbound AP"
        ::= { extremeWirelessRemoteConnectUnboundAPsEntry 3}

extremeWirelessRemoteConnectUnboundAPsIPAddressType OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The IP address type of the unbound AP"
        ::= { extremeWirelessRemoteConnectUnboundAPsEntry 4}

extremeWirelessRemoteConnectUnboundAPsIPAddress OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The IP address of the unbound AP"
        ::= { extremeWirelessRemoteConnectUnboundAPsEntry 5}

extremeWirelessRemoteConnectUnboundAPsNumAttempts       OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The number of times this AP contacted this controller."
        ::= {extremeWirelessRemoteConnectUnboundAPsEntry 6}

extremeWirelessRemoteConnectUnboundAPsRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "Standard row status semantics. Only valid value to set is destroy (6)."
        ::= {extremeWirelessRemoteConnectUnboundAPsEntry 7}

-- *************************************************************** --
--                   RADIUS Server Configuration                   --
-- The Radius Server Table on the Ethernet switch is implemented   --
-- using the extremeAuthServerTable, defines under extremeServices --
--                                                                 --
-- The extremeAPAuthServerTable is implemented per wireless port.  --
-- Each AP will have to implement this table to allow the LAC to   --
-- propogate configuration information.                            --
-- *************************************************************** --
extremeAPAuthServerTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeAPAuthServerEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table is proxied by the wireless APs.  It 
                 allows the wireless concentrator to configure the 
                 APs security settings."
        ::= { extremeAP 12 }

extremeAPAuthServerEntry OBJECT-TYPE
        SYNTAX          ExtremeAPAuthServerEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                " "
        INDEX { extremeWirelessPortIfIndex, extremeAPAuthServerIndex }
        ::= { extremeAPAuthServerTable 1 }

ExtremeAPAuthServerEntry ::= SEQUENCE {
        extremeAPAuthServerIndex                INTEGER,
        extremeAPAuthServerAddressType          InetAddressType,
        extremeAPAuthServerAddress              InetAddress,
        extremeAPAuthServerPort                 INTEGER,
        extremeAPAuthServerSecret               OCTET STRING,
        extremeAPAuthServerReTransmit           INTEGER,
        extremeAPAuthServerStatus               TruthValue}

extremeAPAuthServerIndex OBJECT-TYPE
        SYNTAX          INTEGER (1..2)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "Integer representing either primary (1) or backup
                 (2) server."
        ::= { extremeAPAuthServerEntry 1 }

extremeAPAuthServerAddressType          OBJECT-TYPE
        SYNTAX                          InetAddressType
        MAX-ACCESS                      read-only
        STATUS                          current
        DESCRIPTION
            "The type of address specified in the object
                'extremeAuthServerAddress'.
             Currently, only 'ipv4' and 'dns' are supported."
        DEFVAL { ipv4 }
      ::= { extremeAPAuthServerEntry 2 }

extremeAPAuthServerAddress OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "IP address of the radius server.  The act of
                 assigning an IP address enables the client to use
                 the server.  Setting this value to 0.0.0.0 disables
                 this entry."
        ::= { extremeAPAuthServerEntry 3 }

extremeAPAuthServerPort                    OBJECT-TYPE
       SYNTAX                          INTEGER (0..65535)
       MAX-ACCESS                      read-only
       STATUS                          current
       DESCRIPTION
           "The UDP port number of the remote syslog server
                to which syslog messages will be sent."
     ::= { extremeAPAuthServerEntry 4 }

extremeAPAuthServerSecret OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the shared secret between the Authenticator
                 and radius server.  This is logically write-only."
        ::= { extremeAPAuthServerEntry 5 }

extremeAPAuthServerReTransmit OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the timeout in seconds after which the 
                 Authenticator will re transmit requests to the
                 radius server."
        ::= { extremeAPAuthServerEntry 6 }

extremeAPAuthServerStatus OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
                "Specifies whether the DNS entry is in use or not"
        ::= { extremeAPAuthServerEntry 7 }

-- *************************************************************** --
-- Scan Configuration Table : This table provides the ability to   --
-- configure the parameters associated with ON-Channel scanning    --
-- for other access points.                                        --
-- *************************************************************** --
extremeWirelessScanCfgTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessScanCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains one entry per wireless interface.  It
         allows for configuration of active and passive scan
         parameters."
         ::= { extremeAP 24 }

extremeWirelessScanCfgEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessScanCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex }
         ::= { extremeWirelessScanCfgTable 1 }

ExtremeWirelessScanCfgEntry ::= SEQUENCE {
        extremeWirelessScanEnable                       TruthValue,
        extremeWirelessScanSendProbe                    TruthValue,
        extremeWirelessScanProbeInterval                Unsigned32,
        extremeWirelessScanResultTableSize              Unsigned32,
        extremeWirelessScanResultTimeout                Unsigned32,
        extremeWirelessScanResetStats                   TruthValue,
        extremeWirelessScanClearTable                   TruthValue,
        extremeWirelessScanSendAPAddedTrap              TruthValue,
        extremeWirelessScanSendAPRemovedTrap            TruthValue,
        extremeWirelessScanSendAPUpdatedTrap            TruthValue
}

extremeWirelessScanEnable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "By setting this to true the wireless interface will collect
         information from beacons and (possible) probe responses.  If
         this value is set to false this information will not be 
         collected."
        DEFVAL { true }
         ::= { extremeWirelessScanCfgEntry 1 }

extremeWirelessScanSendProbe OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "If this value is set to TRUE the wireless interface will send
         probe requests to the broadcast SSID every ProbeInterval.  The
         results of these probes will be recorded in the scan results
         table.  If this is false, the AP will only collect information
         from beacon frames."
        DEFVAL { false }
         ::= { extremeWirelessScanCfgEntry 2 }

extremeWirelessScanProbeInterval OBJECT-TYPE
        SYNTAX Unsigned32
        UNITS "milliseconds"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "This allows for the configuration of the interval over which
         probe requests will be sent."
        DEFVAL { 100 }
         ::= { extremeWirelessScanCfgEntry 3 }

extremeWirelessScanResultTableSize OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "This parameter permits the configuration of the result table
         size.  If there are more entries discovered than there are 
         room for the new entry will replace the oldest entry in the
         table.  In this case a new entry trap will be sent with the
         OverFlow value set to TRUE."
        DEFVAL { 1024 }
         ::= { extremeWirelessScanCfgEntry 4 }

extremeWirelessScanResultTimeout OBJECT-TYPE
        SYNTAX Unsigned32
        UNITS "seconds"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "By default the scan result table will age out entries which
         haven't been updated for some time.  When an entry is aged
         out of the table a scanResultAgeOut trap is generated.  
         Setting this value to 0 will disable the aging out of entries."
        DEFVAL { 3600 }
         ::= { extremeWirelessScanCfgEntry 5 }

extremeWirelessScanResetStats OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to TRUE will cause the scan module to reset its
         internal statistics, as well as the packet counts for each 
         entry in the scan results table.  It will *not* remove any
         entries in the scan table."
         ::= { extremeWirelessScanCfgEntry 6 }

extremeWirelessScanClearTable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to TRUE will cause the scan module to reset its
         internal table.  All currently detected stations will be 
         removed.  Scan statistics (i.e. watermark) will not be reset."
         ::= { extremeWirelessScanCfgEntry 7 }

extremeWirelessScanSendAPAddedTrap OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to TRUE will cause the scan module to send a trap
         whenever a new entry is added to the scan results table.  If
         this value is false the scan module will suppress the trap."
        DEFVAL { true }
         ::= { extremeWirelessScanCfgEntry 8 }

extremeWirelessScanSendAPRemovedTrap OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to TRUE will cause the scan module to send a trap
         whenever an entry is removed from the scan results table."
        DEFVAL { true }
         ::= { extremeWirelessScanCfgEntry 9 }

extremeWirelessScanSendAPUpdatedTrap OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to TRUE will cause the scan module to send a trap
         whenever an entry is updated in the scan results table.  This 
         will happen if the list of IEs sent from a particular MAC address
         changes."
        DEFVAL { true }
         ::= { extremeWirelessScanCfgEntry 10 }

-- *************************************************************** --
-- Off-Channel AP Scan : This table provides the ability to confi  --
-- ure and start an off-channel scan for other APs.                --
-- *************************************************************** --
extremeWirelessOffChannelScanCfgTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessOffChannelScanCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains one entry per wireless interface.  It
         allows for configuration of off-channel scan.  To start an
         off-channel scan the management station should write values
         for channel list, min and max wait.  Toggling the start
         value at this point will start an off-channel scan, unless
         one is already running.
         Results of the off-channel scan are reported to the scan
         results table together with the results of passive scan."
         ::= { extremeAP 25 }

extremeWirelessOffChannelScanCfgEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessOffChannelScanCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex }
         ::= { extremeWirelessOffChannelScanCfgTable 1 }

ExtremeWirelessOffChannelScanCfgEntry ::= SEQUENCE {
        extremeWirelessOffChannelScanStart              TruthValue,
        extremeWirelessOffChannelScanList               BITS,
        extremeWirelessOffChannelScanMinWait            Unsigned32,
        extremeWirelessOffChannelScanMaxWait            Unsigned32,
        extremeWirelessOffChannelContinuous             TruthValue
}

extremeWirelessOffChannelScanStart OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to TRUE will cause the scan module to start an
         off-channel scan.  The radio will be disabled for the 
         duration of the scan.  The scan module will change to each 
         of the specified channels in order.  It will then conduct 
         passive (and perhaps active) scans on that channel for the 
         configured intervals.  When the scan is finished the radio 
         will be re-enabled.
         The scan will wait on each channel for at least MinWait 
         milliseconds even if it sees no traffic on the channel. It
         will wait for at most MaxWait msecs even if it sees traffic.
         As a result the best case time for the scan is given by:
                # Of Channels * extremeWirelessOffChannelScanMinWait
         The worst case completion time is given by:
                # Of Channels * extremeWirelessOffChannelScanMaxWait
         Results of the off-channnel scan a reported to the scan 
         results table."
         ::= { extremeWirelessOffChannelScanCfgEntry 1 }

extremeWirelessOffChannelScanList OBJECT-TYPE
        SYNTAX BITS {
                scanAll(0),
                scanEvery(1),
                scanChannel1(2),
                scanChannel2(3),
                scanChannel3(4),
                scanChannel4(5),
                scanChannel5(6),
                scanChannel6(7),
                scanChannel7(8),
                scanChannel8(9),
                scanChannel9(10),
                scanChannel10(11),
                scanChannel11(12),
                scanChannel12(13),
                scanChannel13(14),
                scanChannel14(15),
                scanChannel34(16),
                scanChannel36(17),
                scanChannel40(18),
                scanChannel44(19),
                scanChannel48(20),
                scanChannel52(21),
                scanChannel56(22),
                scanChannel60(23),
                scanChannel64(24),
                scanChannel100(25),
                scanChannel104(26),
                scanChannel108(27),
                scanChannel113(28),
                scanChannel116(29),
                scanChannel120(30),
                scanChannel124(31),
                scanChannel128(32),
                scanChannel132(33),
                scanChannel140(34),
                scanChannel149(35),
                scanChannel153(36),
                scanChannel157(37),
                scanChannel161(38),
                scanChannel165(39)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "This value controls the channels which will be scanned during
         the off-channel scan.  Two special values should be noted:
         
         all -   causes the radio to scan all channels supported by
                 the configured country code.  While on each channel
                     the radio will send out probe requests if the value
                     of extremeWirelessScanSendProbeRequest is true.
         every - causes the radio to scan all channels, even those
                     which are restricted by the country code.  The
                         radio will only send probe request on channels that
                         are legal for that country code."
         ::= { extremeWirelessOffChannelScanCfgEntry 2 }

extremeWirelessOffChannelScanMinWait OBJECT-TYPE
        SYNTAX Unsigned32
        UNITS "milliseconds"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "This value controls the minimum time the off-channel scan
         will wait on a particular channel if it doesn't see any
         traffic."
         DEFVAL { 1 }
         ::= { extremeWirelessOffChannelScanCfgEntry 3 }

extremeWirelessOffChannelScanMaxWait OBJECT-TYPE
        SYNTAX Unsigned32
        UNITS "milliseconds"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "This value controls the maximum time the off-channel scan will
         wait on a particular channel even if it is receiving beacons
         etc."
         DEFVAL { 10 }
         ::= { extremeWirelessOffChannelScanCfgEntry 4 }

extremeWirelessOffChannelContinuous OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
 
        DESCRIPTION
        "Setting this value to true results in the off-channel scan
        looping on the configured values until the channel scan is
        disabled."
        DEFVAL { false }
         ::= { extremeWirelessOffChannelScanCfgEntry 5 }
 


-- *************************************************************** --
-- Scan Status Table : This table contains information about the   --
-- current status of the scan feature.                             --
-- *************************************************************** --
extremeWirelessScanStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessScanStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains one entry per wireless interface.  It
         provides status and statistics information for the scan 
         feature operating on that wireless interface."
         ::= { extremeAP 26 }

extremeWirelessScanStatusEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessScanStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex }
         ::= { extremeWirelessScanStatusTable 1 }

ExtremeWirelessScanStatusEntry ::= SEQUENCE {
        extremeWirelessScanCurrentTableSize     Unsigned32,
        extremeWirelessScanTableWatermark       Unsigned32,
        extremeWirelessScanTotalOverflows       Unsigned32,
        extremeWirelessScanTotalTimeouts        Unsigned32,
        extremeWirelessScanOffChannelRunning    TruthValue,
        extremeWirelessScanCurrentChannel       Unsigned32,
        extremeWirelessScanLastElement          TimeTicks,
        extremeWirelessScanNumProbes            Unsigned32
}

extremeWirelessScanCurrentTableSize OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This indicates the current number of entries in the scan results
         table."
         ::= { extremeWirelessScanStatusEntry 1 }

extremeWirelessScanTableWatermark OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This indicates the largest size the results table has reached
         since the status values have been reset, or the system has
         booted."
         ::= { extremeWirelessScanStatusEntry 2 }

extremeWirelessScanTotalOverflows OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of entries which have been removed
         to make room for a newer entry.   This should be equal to the
         number of AP added traps the system has generated with the 
         overflow value set to true."
         ::= { extremeWirelessScanStatusEntry 3 }

extremeWirelessScanTotalTimeouts OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of entries which have been removed
         because they have become stale.  This should be equal to the 
         number of AP removed traps sent by the system."
         ::= { extremeWirelessScanStatusEntry 4 }

extremeWirelessScanOffChannelRunning OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "If this value is true it indicates that an off-channel scan is
         currently running.  This implies that the radio is current
         disabled."
         ::= { extremeWirelessScanStatusEntry 5 }

extremeWirelessScanCurrentChannel OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "If the value of extremeWirelessScanOffChannelRunning is true
         this variable give the value of the current channel the AP is
         scanning on.  If a scan is not running, the value of this variable
         is undefined."
         ::= { extremeWirelessScanStatusEntry 6 }

extremeWirelessScanLastElement OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the sysUpTime when the last new station was inserted
         in the results table."
         ::= { extremeWirelessScanStatusEntry 7 }

extremeWirelessScanNumProbes OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of probe requests sent by this wireless 
         interface."
         ::= { extremeWirelessScanStatusEntry 8 }

-- *************************************************************** --
-- Scan Results Table : This table provides information collected  --
-- during on and off-channel scans about the APs discovered.       --
-- *************************************************************** --
extremeWirelessScanResultsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessScanResultsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains one entry per wireless interface.  It
         provides status and statistics information for the scan 
         feature operating on that wireless interface."
         ::= { extremeAP 27 }

extremeWirelessScanResultsEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessScanResultsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex, extremeWirelessScanResultsStationId }
         ::= { extremeWirelessScanResultsTable 1 }

ExtremeWirelessScanResultsEntry ::= SEQUENCE {
        extremeWirelessScanResultsStationId              MacAddress,
        extremeWirelessScanResultsFirstSeen              TimeTicks,
        extremeWirelessScanResultsLastChange             TimeTicks,
        extremeWirelessScanResultsPacketTime             INTEGER,
        extremeWirelessScanResultsPacketRate             INTEGER,
        extremeWirelessScanResultsChannel                INTEGER,
        extremeWirelessScanResultsMinRSS                 INTEGER,
        extremeWirelessScanResultsMaxRSS                 INTEGER,
        extremeWirelessScanResultsAvgRSS                 INTEGER,
        extremeWirelessScanResultsTotalBeacons           Unsigned32,
        extremeWirelessScanResultsTotalProbes            Unsigned32,
        extremeWirelessScanResultsDiscoveredBy           INTEGER,
        extremeWirelessScanResultsDSSOFDM                TruthValue,
        extremeWirelessScanResultsRSNEnabled             TruthValue,
        extremeWirelessScanResultsGShortSlot             TruthValue,
        extremeWirelessScanResultsChannelAgility         TruthValue,
        extremeWirelessScanResultsPBCC                   TruthValue,
        extremeWirelessScanResultsPreamble               TruthValue,
        extremeWirelessScanResultsPrivacy                TruthValue,
        extremeWirelessScanResultsCFPollReq              TruthValue,
        extremeWirelessScanResultsCFPollable             TruthValue,
        extremeWirelessScanResultsNetworkType            INTEGER,
        extremeWirelessScanResultsSSID                   OCTET STRING,
        extremeWirelessScanResultsRateSet                OCTET STRING,
        extremeWirelessScanResultsExtRateSet             OCTET STRING,
        extremeWirelessScanResultsDSSParameter           INTEGER,
        extremeWirelessScanResultsTIMCount               INTEGER,
        extremeWirelessScanResultsTIMPeriod              INTEGER,
        extremeWirelessScanResultsTIMTrafficInd          TruthValue,
        extremeWirelessScanResultsCountryCode            OCTET STRING,
        extremeWirelessScanWPAIEPresent                  TruthValue,
        extremeWirelessScanWPAVersion                    Unsigned32,
        extremeWirelessScanWPAIEMcastCipher              WPACipherSet,
        extremeWirelessScanWPAUcastCipherCount           Unsigned32,
        extremeWirelessScanWPAUcastCipher                WPACipherSet,
        extremeWirelessScanWPAKeyMgmtCount               Unsigned32,
        extremeWirelessScanWPAKeyMgmtSuite               WPAKeyMgmtSet,
        extremeWirelessScanResultsIEBlob                 OCTET STRING
}
        
extremeWirelessScanResultsStationId OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the MAC address of the detected station."
         ::= { extremeWirelessScanResultsEntry 1 }

extremeWirelessScanResultsFirstSeen OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the sysUpTime when this station entry was created."
         ::= { extremeWirelessScanResultsEntry 2 }

extremeWirelessScanResultsLastChange OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the sysUpTime of the station entry the last time it was
         updated (i.e. a beacon etc was received)."
         ::= { extremeWirelessScanResultsEntry 3 }

extremeWirelessScanResultsPacketTime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the timestamp field from the last beacon/probe response
         received from this station."
         ::= { extremeWirelessScanResultsEntry 4 }

extremeWirelessScanResultsPacketRate OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the rate at which the last packet was sent by the
         station.

         TODO: What are the units here on rate?"
         ::= { extremeWirelessScanResultsEntry 5 }

extremeWirelessScanResultsChannel OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the channel the last packet received by this station
         was recieved on."
         ::= { extremeWirelessScanResultsEntry 6 }

extremeWirelessScanResultsMinRSS OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the smallest RSS value of any packet recieved from this
         station."
         ::= { extremeWirelessScanResultsEntry 7 }

extremeWirelessScanResultsMaxRSS OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the largest RSS value of any packet recieved from this
         station."
         ::= { extremeWirelessScanResultsEntry 8 }

extremeWirelessScanResultsAvgRSS OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is a running average of RSS values of all the packets
         received from this station."
         ::= { extremeWirelessScanResultsEntry 9 }

extremeWirelessScanResultsTotalBeacons OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This counter gives the total number of beacons received from this
         station."
         ::= { extremeWirelessScanResultsEntry 10 }

extremeWirelessScanResultsTotalProbes OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This counter gives the total number of probe responses
         received from this station."
         ::= { extremeWirelessScanResultsEntry 11 }

extremeWirelessScanResultsDiscoveredBy OBJECT-TYPE
        SYNTAX INTEGER { probe (1),
                         beacon (2) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the type of packet which cause this results entry to be
         created."
         ::= { extremeWirelessScanResultsEntry 12 }

extremeWirelessScanResultsDSSOFDM OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "TODO : What is this?"
         ::= { extremeWirelessScanResultsEntry 13 }

extremeWirelessScanResultsRSNEnabled OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Indicates if RSN capabilities are enabled on the sending station."
         ::= { extremeWirelessScanResultsEntry 14 }

extremeWirelessScanResultsGShortSlot OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "TODO : What is this?"
         ::= { extremeWirelessScanResultsEntry 15 }

extremeWirelessScanResultsChannelAgility OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "TODO : What is this?"
         ::= { extremeWirelessScanResultsEntry 16 }

extremeWirelessScanResultsPBCC OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "TODO : What is this?"
         ::= { extremeWirelessScanResultsEntry 17 }

extremeWirelessScanResultsPreamble OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "TODO : What is this?"
         ::= { extremeWirelessScanResultsEntry 18 }

extremeWirelessScanResultsPrivacy OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is true if MAC-based privacy is invoked on the sending
         station."
         ::= { extremeWirelessScanResultsEntry 19 }

extremeWirelessScanResultsCFPollReq OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "TODO: What is this?"
         ::= { extremeWirelessScanResultsEntry 20 }

extremeWirelessScanResultsCFPollable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "TODO: What is this?"
         ::= { extremeWirelessScanResultsEntry 21 }

extremeWirelessScanResultsNetworkType OBJECT-TYPE
        SYNTAX INTEGER { ibss (1),
                         bss  (2) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This indicates what type of network it is.  If this value is IBSS
         the last beacon/probe response was sent by a host operating in
         ad-hoc mode."
         ::= { extremeWirelessScanResultsEntry 22 }

extremeWirelessScanResultsSSID OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This provides the value of the SSID value as is was recieved in
         the beacon or probe response.  If no SSID was sent in the probe
         this value is NULL."
         ::= { extremeWirelessScanResultsEntry 23 }

extremeWirelessScanResultsRateSet OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This provides the value of the rate set IE as it was received in
         the beacon or probe response.  If no rate set was recieved then
         this value is NULL."
         ::= { extremeWirelessScanResultsEntry 24 }

extremeWirelessScanResultsExtRateSet OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This provides the value of the extended rate set IE as it was 
         received in the beacon or probe response.  If no rate set was 
         recieved then this value is NULL."
         ::= { extremeWirelessScanResultsEntry 25 }

extremeWirelessScanResultsDSSParameter OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Provides the value of the DSS parameter IE, which is the channel."
         ::= { extremeWirelessScanResultsEntry 26 }

extremeWirelessScanResultsTIMCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "TODO: What is this?"
         ::= { extremeWirelessScanResultsEntry 27 }

extremeWirelessScanResultsTIMPeriod OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "TODO: What is this?"
         ::= { extremeWirelessScanResultsEntry 28 }

extremeWirelessScanResultsTIMTrafficInd OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "TODO: What is this?"
         ::= { extremeWirelessScanResultsEntry 29 }

extremeWirelessScanResultsCountryCode OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Value of country code supplied by the IE"
         ::= { extremeWirelessScanResultsEntry 30 }

extremeWirelessScanWPAIEPresent OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "If this value is true it indicates that WPA information was
         gathered from this AP in the last beacon.  It implies that
         the WPA variables below are valid.
         If this value is false it indicates that this AP did not 
         send a WPA IE in its last beacon, and the values below are
         meaningless."
        ::= { extremeWirelessScanResultsEntry 31 }

extremeWirelessScanWPAVersion OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This value gives the version of WPA supported by this AP.
         See IEEE 802.11i Draft 3.0 section 7 for meaning of various
         values."
        ::= { extremeWirelessScanResultsEntry 32 }

extremeWirelessScanWPAIEMcastCipher OBJECT-TYPE
        SYNTAX WPACipherSet
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This value gives the single multicast cipher supported by this
         AP."
        ::= { extremeWirelessScanResultsEntry 33 }

extremeWirelessScanWPAUcastCipherCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This value gives the total number of unicast ciphers supported
         by this AP.  It corresponds to the number of bits set in the 
         extremeWirelessScanWPAUcastCipher variable."
        ::= { extremeWirelessScanResultsEntry 34 }

extremeWirelessScanWPAUcastCipher OBJECT-TYPE
        SYNTAX WPACipherSet
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the list of cipher suites which are supported by 
         this AP."
        ::= { extremeWirelessScanResultsEntry 35 }

extremeWirelessScanWPAKeyMgmtCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of key-management schemes supported by
         this AP.  It corresponds to the number of bits set in the
         extremeWirelessScanWPAKeyMgmtSuite variable."
        ::= { extremeWirelessScanResultsEntry 36 }

extremeWirelessScanWPAKeyMgmtSuite OBJECT-TYPE
        SYNTAX WPAKeyMgmtSet
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This indicates the supported key-management suites supported
         by this AP."
        ::= { extremeWirelessScanResultsEntry 37 }

extremeWirelessScanResultsIEBlob OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "All the IEs received in the last packet encoded as a blob of
         Type, Length, Value tuples."
         ::= { extremeWirelessScanResultsEntry 38 }

-- *************************************************************** --
-- Probe Info Configuration Table : This table allows for config   --
-- for the collection of probe request packets.  The AP uses this  --
-- to populate the client information tables.                      --
-- *************************************************************** --
extremeWirelessProbeInfoCfgTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessProbeInfoCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains one entry per physical and virtual interface.
         It controls the collection of client information via PROBE REQ
         packets."
         ::= { extremeAP 28 } 

extremeWirelessProbeInfoCfgEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessProbeInfoCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "Note that the ifIndex here can be either a physical or virtual
         wireless interface index."
        INDEX { ifIndex }
         ::= { extremeWirelessProbeInfoCfgTable 1 }

ExtremeWirelessProbeInfoCfgEntry ::= SEQUENCE {
        extremeWirelessProbeInfoEnable           TruthValue,
        extremeWirelessProbeInfoKeepIEs          TruthValue,
        extremeWirelessProbeInfoTableSize        Unsigned32,
        extremeWirelessProbeInfoTimeout          Unsigned32,
        extremeWirelessProbeInfoTableClear       TruthValue,
        extremeWirelessProbeInfoSourceClear      MacAddress,
        extremeWirelessProbeInfoTableStatsClear  TruthValue,
        extremeWirelessProbeInfoSourceStatsClear MacAddress,
        extremeWirelessProbeInfoSendAddedTrap    TruthValue,
        extremeWirelessProbeInfoSendRemovedTrap  TruthValue }

extremeWirelessProbeInfoEnable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "If this is set to TRUE then this virtual or physical
        interface will register with the MAC layer to receive
        notification of PROBE REQ packets.  In the case of 
        a virtual interface this implies the receipt of directed
        PROBE REQ packets.  If set to FALSE no PROBE REQ packets
        will be received, and current entries will eventually
        timeout."
        DEFVAL { true }
         ::= { extremeWirelessProbeInfoCfgEntry 1 }

extremeWirelessProbeInfoKeepIEs OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "If this value is set to TRUE then the rate IE which
         is carried in the PROBE REQ packet will be recorded.
         If FALSE, no rate information will be kept."
         DEFVAL { false }
         ::= { extremeWirelessProbeInfoCfgEntry 2 }

extremeWirelessProbeInfoTableSize OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "This value sets the maximum size of the probe info 
         results table, which limits the number of clients this
         AP can record PROBE REQ information from."
         DEFVAL { 128 }
         ::= { extremeWirelessProbeInfoCfgEntry 3 }

extremeWirelessProbeInfoTimeout OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "This is the timeout, in seconds, for an entry in the 
         probe info table.  Once a PROBE REQ has not been heard
         from a client in this time period, it's entry is removed.
         The value 0 is a sentinel, indicating no timeout."
         DEFVAL { 3600 }
         ::= { extremeWirelessProbeInfoCfgEntry 4 }

extremeWirelessProbeInfoTableClear OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this value to TRUE causes all entries in the 
         probe info table to be removed.  Reading this value
         has no meaning."
         ::= { extremeWirelessProbeInfoCfgEntry 5 }

extremeWirelessProbeInfoSourceClear OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to the value of some MAC address results in
         any matching MAC address in the probe info table being
         removed.  Reading this value has no meaning."
         ::= { extremeWirelessProbeInfoCfgEntry 6 }

extremeWirelessProbeInfoTableStatsClear OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to TRUE results in all historical statistics
         in the probe info table being set to 0.  No entries will
         be removed.  Reading this has no meaning."
         ::= { extremeWirelessProbeInfoCfgEntry 7 }

extremeWirelessProbeInfoSourceStatsClear OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to a MAC address will clear the historical
         stats associated with the matching MAC address in the
         probe info table.  Reading this has no meaning."
         ::= { extremeWirelessProbeInfoCfgEntry 8 }

extremeWirelessProbeInfoSendAddedTrap OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to TRUE will cause the management module to
         send a trap whenever a new PROBE REQ source is added to 
         the probe info table.  Setting this to FALSE will 
         suppress the trap."
         DEFVAL { false }
         ::= { extremeWirelessProbeInfoCfgEntry 9 }

extremeWirelessProbeInfoSendRemovedTrap OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to TRUE will cause the management module to
         send a trap whenever a PROBE REQ source is removed from
         the probe info table.  Setting this to false will 
         suppress the trap."
         DEFVAL { false }
         ::= { extremeWirelessProbeInfoCfgEntry 10 }

-- *************************************************************** --
-- Probe Info Status Table : This table gives current status of    --
-- the probe request storage feature.                              --
-- *************************************************************** --
extremeWirelessProbeInfoStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessProbeInfoStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains one entry per physical and virtual interface.
         It gives debugging and status information for the operation of the
         probe info feature on that interface."
         ::= { extremeAP 29 }

extremeWirelessProbeInfoStatusEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessProbeInfoStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "Note that the ifIndex here can be either a physical or virtual
         wireless interface index."
        INDEX { ifIndex }
         ::= { extremeWirelessProbeInfoStatusTable 1 }

ExtremeWirelessProbeInfoStatusEntry ::= SEQUENCE {
        extremeWirelessProbeInfoStatusCurrentTableSize Unsigned32,
        extremeWirelessProbeInfoStatusWatermark        Unsigned32,
        extremeWirelessProbeInfoStatusTotalOverflows   Unsigned32,
        extremeWirelessProbeInfoStatusTotalTimeouts    Unsigned32,
        extremeWirelessProbeInfoStatusLastElement      TimeTicks,
        extremeWirelessProbeInfoStatusTotalProbes      Unsigned32
}

extremeWirelessProbeInfoStatusCurrentTableSize OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the current number of entries in the probe 
         info table for this interface."
         ::= { extremeWirelessProbeInfoStatusEntry 1 }

extremeWirelessProbeInfoStatusWatermark OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the maximum size the probe info table has been
         since the statistics have been reset."
         ::= { extremeWirelessProbeInfoStatusEntry 2 }

extremeWirelessProbeInfoStatusTotalOverflows OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of times an entry in the probe info
         table was overwritten because the table was full."
         ::= { extremeWirelessProbeInfoStatusEntry 3 }

extremeWirelessProbeInfoStatusTotalTimeouts OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of times an entry in the probe info
         table was timed out."
         ::= { extremeWirelessProbeInfoStatusEntry 4 }

extremeWirelessProbeInfoStatusLastElement OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the sysUpTime the last time an entry was added
         to the probe info table (or modified)."
         ::= { extremeWirelessProbeInfoStatusEntry 5 }

extremeWirelessProbeInfoStatusTotalProbes OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of PROBE REQ packets that
         this interface has gotten."
         ::= { extremeWirelessProbeInfoStatusEntry 6 }

-- *************************************************************** --
-- Probe Info Table : This table contains information on the probe --
-- request packets recieved from particular hosts.                 --
-- *************************************************************** --
extremeWirelessProbeInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessProbeInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains one entry for each source MAC from which
         a PROBE REQ packet has been received.  Entries are added when
         a packet is recieved from a new source mac.  Entries are 
         removed via management action, or by timeout or overflow."
         ::= { extremeAP 30 }

extremeWirelessProbeInfoEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessProbeInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "Note that the ifIndex here can be either a physical or virtual
         wireless interface index.  In addition, this table is indexed
         by the MAC address of the PROBE REQ source."
        INDEX { ifIndex, extremeWirelessProbeInfoSource }
         ::= { extremeWirelessProbeInfoTable 1 }

ExtremeWirelessProbeInfoEntry ::= SEQUENCE {
        extremeWirelessProbeInfoSource          MacAddress,
        extremeWirelessProbeInfoTotalProbes     Unsigned32,
        extremeWirelessProbeInfoTotalProbeResp  Unsigned32,
        extremeWirelessProbeInfoRateIESize      Unsigned32,
        extremeWirelessProbeInfoRateIE          OCTET STRING,
        extremeWirelessProbeInfoFirstSeen       TimeTicks,
        extremeWirelessProbeInfoLastChange      TimeTicks,
        extremeWirelessProbeInfoLastRSS         INTEGER,
        extremeWirelessProbeInfoLastRate        INTEGER,
        extremeWirelessProbeInfoLastChannel     INTEGER }

extremeWirelessProbeInfoSource OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the MAC address of the source which sent us the 
         PROBE REQ packets described by this entry."
         ::= { extremeWirelessProbeInfoEntry 1 }

extremeWirelessProbeInfoTotalProbes OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of PROBE REQ packets we have
         received from this source since the last time the stats
         were cleared."
         ::= { extremeWirelessProbeInfoEntry 2 }

extremeWirelessProbeInfoTotalProbeResp OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of PROBE RESP packets we have
         sent to this source.  This may not be equal to PROBE REQ
         based on rxmit, misses, etc."
         ::= { extremeWirelessProbeInfoEntry 3 }

extremeWirelessProbeInfoRateIESize OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the size of the rate-ie field in bytes.  This
         may be 0, at which point there is no rate-ie."
         ::= { extremeWirelessProbeInfoEntry 4 }

extremeWirelessProbeInfoRateIE OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the rate IE as recieved in the last PROBE REQ
         packet.  It is encoded as a TLV exactly as it was in the
         frame.  This field may return NULL if storing of rate IE
         fields is disabled."
         ::= { extremeWirelessProbeInfoEntry 5 }

extremeWirelessProbeInfoFirstSeen OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the sysUpTime the first time a PROBE REQ was
         seen from this source."
         ::= { extremeWirelessProbeInfoEntry 6 }

extremeWirelessProbeInfoLastChange OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the sysUpTime the last time a PROBE REQ was
         seen from this source."
         ::= { extremeWirelessProbeInfoEntry 7 }

extremeWirelessProbeInfoLastRSS OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the RSSI from the last PROBE REQ packet received
         from this station."
         ::= { extremeWirelessProbeInfoEntry 8 }

extremeWirelessProbeInfoLastRate OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the rate at which the last packet was received
         from this station."
         ::= { extremeWirelessProbeInfoEntry 9 }

extremeWirelessProbeInfoLastChannel OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the channel on which the last PROBE REQ from
         this station was heard.  PROBE REQs may be heard during
         an off-channel scan, at which point this may not be
         equal to the current channel."
         ::= { extremeWirelessProbeInfoEntry 10 }

-- *************************************************************** --
-- Per Client Historical Diagnostic Table : This table allows for  --
-- configuration of diagnostic information collection.             --
-- *************************************************************** -- 
extremeWirelessClientDiagCfgTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessClientDiagCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains one row per wireless interface.  Each row
         contains configuration values for collection of per-client
         diagnostic information."
         ::= { extremeAP 31 }

extremeWirelessClientDiagCfgEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessClientDiagCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "There is one entry in this table per virtual interface
         (SSID)."
        INDEX { ifIndex }
         ::= { extremeWirelessClientDiagCfgTable 1 }

ExtremeWirelessClientDiagCfgEntry ::= SEQUENCE {
        extremeWirelessClientDiagCfgEnable              TruthValue,
        extremeWirelessClientDiagCfgClearClient         MacAddress,
        extremeWirelessClientDiagCfgTableSize           Unsigned32,
        extremeWirelessClientDiagCfgTimeout             Unsigned32
}

extremeWirelessClientDiagCfgEnable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to TRUE enables the collection of historical 
         information on this virtual interface.  This implies that 
         stations which send ASSOC or AUTH packets will have new 
         entries created in the table for this interface."
         DEFVAL { true }
         ::= { extremeWirelessClientDiagCfgEntry 1 }

extremeWirelessClientDiagCfgClearClient OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this to the MAC address of a client in the diag
         tables will clear the counters for that client.  The entry
         will not be removed from the table, but all summation 
         counters will be cleared."
         ::= { extremeWirelessClientDiagCfgEntry 2 }

extremeWirelessClientDiagCfgTableSize OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "This value will configure the maximum size of the diag table.
         The value is specified in number of entries.  A value of 0
         implies no upper limit."
         DEFVAL { 128 }
         ::= { extremeWirelessClientDiagCfgEntry 3 }

extremeWirelessClientDiagCfgTimeout OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "This value will configure the timeout of an entry from the
         diagnostics tables.  The value is given in seconds.  A value
         of 0 implies no timeout."
         DEFVAL { 3600 }
         ::= { extremeWirelessClientDiagCfgEntry 4 }

-- *************************************************************** --
-- Per client historical feature status                            --
-- *************************************************************** --
extremeWirelessClientDiagStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessClientDiagStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains one entry per virtual interface.  Values
         stored here give current status of the historical client diag
         feature."
         ::= { extremeAP 32 }

extremeWirelessClientDiagStatusEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessClientDiagStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "Note that ifIndex here is virtual ifIndex (SSID)."
        INDEX { ifIndex }
         ::= { extremeWirelessClientDiagStatusTable 1 }

ExtremeWirelessClientDiagStatusEntry ::= SEQUENCE {
        extremeWirelessClientDiagCurrentTableSize       Unsigned32,
        extremeWirelessClientDiagTableWatermark         Unsigned32,
        extremeWirelessClientDiagTotalOverflows         Unsigned32,
        extremeWirelessClientDiagTotalTimeouts          Unsigned32,
        extremeWirelessClientDiagLastElement            TimeTicks,
        extremeWirelessClientDiagSupportsSizeCounters   TruthValue,
        extremeWirelessClientDiagSupportsSpeedCounters  TruthValue,
        extremeWirelessClientDiagSupportsPacketCounters TruthValue
}

extremeWirelessClientDiagCurrentTableSize OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the current size, in entries of the client diag
         tables."
         ::= { extremeWirelessClientDiagStatusEntry 1 }

extremeWirelessClientDiagTableWatermark OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the maximum size the client diag table has been
         since the last time the statistics were cleared."
         ::= { extremeWirelessClientDiagStatusEntry 2 }

extremeWirelessClientDiagTotalOverflows OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of times an entry has been
         replaced by a newer entry because there was no room
         left in the table."
         ::= { extremeWirelessClientDiagStatusEntry 3 }

extremeWirelessClientDiagTotalTimeouts OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of times an entry has been
         aged-out of the table."
         ::= { extremeWirelessClientDiagStatusEntry 4 }

extremeWirelessClientDiagLastElement OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is sysUpTime when the last entry was added to
         the table."
         ::= { extremeWirelessClientDiagStatusEntry 5 }

extremeWirelessClientDiagSupportsSpeedCounters OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This value indicates if this AP supports the speed-based
         counters from the extremeWirelessClientSpeedCountersTable."
         ::= { extremeWirelessClientDiagStatusEntry 6 }

extremeWirelessClientDiagSupportsSizeCounters OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This value indicates if this AP supports the size-based
         counters from the extremeWirelessClientMACSizeCounterTable."
         ::= { extremeWirelessClientDiagStatusEntry 7 }

extremeWirelessClientDiagSupportsPacketCounters OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This value indicates if this AP supports the packet-based
         counters from the extremeWirelessClientPacketCountersTable."
         ::= { extremeWirelessClientDiagStatusEntry 8 }

-- *************************************************************** --
-- Per Client Historical Diagnostics : This table contains info    --
-- about state transitions for each client.
-- *************************************************************** --
extremeWirelessClientDiagTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessClientDiagEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains information on a per-client basis.  Rows are
         indexed first by virtual interface, then by client MAC."
         ::= { extremeAP 33 }

extremeWirelessClientDiagEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessClientDiagEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "Note that ifIndex here is virtual ifIndex (SSID)."
        INDEX { ifIndex, extremeWirelessClientDiagMac }
         ::= { extremeWirelessClientDiagTable 1 }

ExtremeWirelessClientDiagEntry ::= SEQUENCE {
        extremeWirelessClientDiagMac                    MacAddress,
        extremeWirelessClientDiagStateWatermark         INTEGER,
        extremeWirelessClientDiagEntersInDetected       Unsigned32,
        extremeWirelessClientDiagErrorsInDetected       Unsigned32,
        extremeWirelessClientDiagAuthReqInDetected      Unsigned32,
        extremeWirelessClientDiagOtherReqInDetected     Unsigned32,
        extremeWirelessClientDiagMgmtActionInDetected   Unsigned32,
        extremeWirelessClientDiagTimeOutInDetected      Unsigned32,
        extremeWirelessClientDiagEntersInAuth           Unsigned32,
        extremeWirelessClientDiagErrorsInAuth           Unsigned32,
        extremeWirelessClientDiagAssocReqInAuth         Unsigned32,
        extremeWirelessClientDiagOtherReqInAuth         Unsigned32,
        extremeWirelessClientDiagMgmtActionInAuth       Unsigned32,
        extremeWirelessClientDiagTimeOutInAuth          Unsigned32,
        extremeWirelessClientDiagEntersInAssoc          Unsigned32,
        extremeWirelessClientDiagErrorsInAssoc          Unsigned32,
        extremeWirelessClientDiagMgmtActionInAssoc      Unsigned32,
        extremeWirelessClientDiagTimeOutInAssoc         Unsigned32,
        extremeWirelessClientDiagEntersInForward        Unsigned32,
        extremeWirelessClientDiagMgmtActionInForward    Unsigned32,
        extremeWirelessClientDiagTimeOutInForward       Unsigned32,
        extremeWirelessClientDiagTotal802Auths          Unsigned32,
        extremeWirelessClientDiagTotalNetLoginAuths     Unsigned32
}

extremeWirelessClientDiagMac OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the MAC address of the station this entry 
         describes."
         ::= { extremeWirelessClientDiagEntry 1 }

extremeWirelessClientDiagStateWatermark OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the highest state this client has been in."
        ::= { extremeWirelessClientDiagEntry 2 }

extremeWirelessClientDiagEntersInDetected OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of times the client has entered
         the detected state."
        ::= { extremeWirelessClientDiagEntry 3 }

extremeWirelessClientDiagErrorsInDetected OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of errors this client has 
         experienced since the counters were cleared."
        ::= { extremeWirelessClientDiagEntry 4 }

extremeWirelessClientDiagAuthReqInDetected OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of AUTH REQ packets received
         from this client while it was in the detected state."
        ::= { extremeWirelessClientDiagEntry 5 }

extremeWirelessClientDiagOtherReqInDetected OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of REQ packets received from
         this client while it was in detected state that were
         not AUTH REQ packets."
        ::= { extremeWirelessClientDiagEntry 6 }

extremeWirelessClientDiagMgmtActionInDetected OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of times management initiated
         action (i.e. force-disassociate) was received for this
         client in the detected state."
        ::= { extremeWirelessClientDiagEntry 7 }

extremeWirelessClientDiagTimeOutInDetected OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of timeouts which happened to
         this client in the detected state."
        ::= { extremeWirelessClientDiagEntry 8 }

extremeWirelessClientDiagEntersInAuth OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of times the client has entered
         the AUTHED state."
        ::= { extremeWirelessClientDiagEntry 9 }

extremeWirelessClientDiagErrorsInAuth OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of times the client has had
         errors in the AUTHED state."
        ::= { extremeWirelessClientDiagEntry 10 }

extremeWirelessClientDiagAssocReqInAuth OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of ASSOC REQ or REASSOC REQ
         packets received from this client while in the AUTHED 
         state."
        ::= { extremeWirelessClientDiagEntry 11 }

extremeWirelessClientDiagOtherReqInAuth OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of non-ASSOC/REASSOC packets
         received from this client while in the AUTHED state."
        ::= { extremeWirelessClientDiagEntry 12 }

extremeWirelessClientDiagMgmtActionInAuth OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of management initiated action
         which this client experienced while in the AUTHED state."
        ::= { extremeWirelessClientDiagEntry 13 }

extremeWirelessClientDiagTimeOutInAuth OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of times this client timed out
         while in the authed state."
        ::= { extremeWirelessClientDiagEntry 14 }

extremeWirelessClientDiagEntersInAssoc OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of times this client has entered
         the associated state."
        ::= { extremeWirelessClientDiagEntry 15 }

extremeWirelessClientDiagErrorsInAssoc OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of errors this client has had
         in the associated state."
        ::= { extremeWirelessClientDiagEntry 16 }

extremeWirelessClientDiagMgmtActionInAssoc OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of management actions which have
         happened to this client in the associated state."
        ::= { extremeWirelessClientDiagEntry 17 }

extremeWirelessClientDiagTimeOutInAssoc OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of times this station has been
         timed-out in the associated state."
        ::= { extremeWirelessClientDiagEntry 18 }

extremeWirelessClientDiagEntersInForward OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of times this client has entered
         the forwarding state."
        ::= { extremeWirelessClientDiagEntry 19 }

extremeWirelessClientDiagMgmtActionInForward OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of times this client has
         experience a management action while in forwarding."
        ::= { extremeWirelessClientDiagEntry 20 }

extremeWirelessClientDiagTimeOutInForward OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of timeouts this client has
         experienced while in forwarding."
        ::= { extremeWirelessClientDiagEntry 21 }

extremeWirelessClientDiagTotal802Auths OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of times this client has tried
         to authenticate using 802.1x."
        ::= { extremeWirelessClientDiagEntry 22 }

extremeWirelessClientDiagTotalNetLoginAuths OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is the total number of times this client has tried
         to authenticate using NetLogin."
        ::= { extremeWirelessClientDiagEntry 23 }

-- *************************************************************** --
-- Per Client Association Information : This table gives history   --
-- on the association packets sent by each client on the AP.       --
-- *************************************************************** --
extremeWirelessClientAssocInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessClientAssocInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains one row per client on a wireless interface.
         It gives information about the association history and parameters
         of that client."
         ::= { extremeAP 34 }

extremeWirelessClientAssocInfoEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessClientAssocInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "Note that ifIndex here is virtual ifIndex (SSID)."
        INDEX { ifIndex, extremeWirelessClientDiagMac }
         ::= { extremeWirelessClientAssocInfoTable 1 }

ExtremeWirelessClientAssocInfoEntry ::= SEQUENCE {
        extremeWirelessClientAssocInfoAssociated                TruthValue,
        extremeWirelessClientAssocInfoTotalAssocReq             Unsigned32,
        extremeWirelessClientAssocInfoTotalReAssocReq           Unsigned32,
        extremeWirelessClientAssocInfoTotalAssocResp            Unsigned32,
        extremeWirelessClientAssocInfoTotalAssocOK              Unsigned32,
        extremeWirelessClientAssocInfoTotalAssocFail            Unsigned32,
        extremeWirelessClientAssocInfoTotalDisassocReq          Unsigned32,
        extremeWirelessClientAssocInfoTotalDisassocResp         Unsigned32,
        extremeWirelessClientAssocInfoRateIE                    OCTET STRING,
        extremeWirelessClientAssocInfoLastAssoc                 TimeTicks,
        extremeWirelessClientAssocInfoLastError                 TimeTicks,
        extremeWirelessClientAssocInfoLastErrorType             INTEGER,
        extremeWirelessClientAssocInfoErrorRateMismatch         Unsigned32,
        extremeWirelessClientAssocInfoErrorBadState             Unsigned32,
        extremeWirelessClientAssocInfoErrorBadCapability        Unsigned32,
        extremeWirelessClientAssocInfoErrorCounterMeasure       Unsigned32,
        extremeWirelessClientAssocInfoErrorMcastCipher          Unsigned32,
        extremeWirelessClientAssocInfoErrorMaxAssoc             Unsigned32,
        extremeWirelessClientAssocInfoErrorRSNRequired          Unsigned32,
        extremeWirelessClientAssocInfoErrorRSNMismatch          Unsigned32,
        extremeWirelessClientAssocInfoErrorOther                Unsigned32,
        extremeWirelessClientAssocInfoWPAIEPresent              TruthValue,
        extremeWirelessClientAssocInfoWPAVersion                Unsigned32,
        extremeWirelessClientAssocInfoWPAIEMcastCipher          WPACipherSet,
        extremeWirelessClientAssocInfoWPAUcastCipherCount       Unsigned32,
        extremeWirelessClientAssocInfoWPAUcastCipher            WPACipherSet,
        extremeWirelessClientAssocInfoWPAKeyMgmtCount           Unsigned32,
        extremeWirelessClientAssocInfoWPAKeyMgmtSuite           WPAKeyMgmtSet,
        extremeWirelessClientAssocIEBlob                        OCTET STRING
}

extremeWirelessClientAssocInfoAssociated OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the current MAC-layer association status of 
         this client."
         ::= { extremeWirelessClientAssocInfoEntry 1 }

extremeWirelessClientAssocInfoTotalAssocReq OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of ASSOC REQ pdus recieved
         from this client since the last time the counters were
         cleared."
         ::= { extremeWirelessClientAssocInfoEntry 2 }

extremeWirelessClientAssocInfoTotalReAssocReq OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of REASSOC REQ PDUs received
         from this client since the last time the counters were
         cleared."
         ::= { extremeWirelessClientAssocInfoEntry 3 }

extremeWirelessClientAssocInfoTotalAssocResp OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of ASSOC RESP pdus sent to
         this client since the last time the counters were cleared."
         ::= { extremeWirelessClientAssocInfoEntry 4 }

extremeWirelessClientAssocInfoTotalAssocOK OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of ASSOC RESP PDUs which
         carried a status = ok response."
         ::= { extremeWirelessClientAssocInfoEntry 5 }

extremeWirelessClientAssocInfoTotalAssocFail OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of ASSOC RESP PDUs which
         carried a status = failed response."
         ::= { extremeWirelessClientAssocInfoEntry 6 }

extremeWirelessClientAssocInfoTotalDisassocReq OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of ASSOC RESP PDUs which
         carried a status = failed response."
         ::= { extremeWirelessClientAssocInfoEntry 7 }

extremeWirelessClientAssocInfoTotalDisassocResp OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of ASSOC RESP PDUs which
         carried a status = failed response."
         ::= { extremeWirelessClientAssocInfoEntry 8 }

extremeWirelessClientAssocInfoRateIE OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the value of the rate IE carried in the last
         ASSOC REQ packet if this wireless interface is configured
         to keep IEs.  If it's not, this will be NULL.  The IE
         is encoded as a series of bytes exactly as the value 
         portion of the IE in the PDU."
         ::= { extremeWirelessClientAssocInfoEntry 9 }

extremeWirelessClientAssocInfoLastAssoc OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is sysUpTime when the last ASSOC REQ was received
         from this client."
         ::= { extremeWirelessClientAssocInfoEntry 10 }

extremeWirelessClientAssocInfoLastError OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is sysUpTime when the last ASSOC RESP was sent to
         this client with a failure status."
         ::= { extremeWirelessClientAssocInfoEntry 11 }

extremeWirelessClientAssocInfoLastErrorType OBJECT-TYPE
        SYNTAX INTEGER { noError(0),
                         rateMismatch(1),
                         badState(2),
                         badCapability(3),
                         couterMeasure(4),
                         mcastCipher(5),
                         maxAssoc(6),
                         rsnRequired(7),
                         rsnMismatch(8),
                         otherError(9) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is an enumerated type which indicates which was the
         last error this client experienced during association."
         ::= { extremeWirelessClientAssocInfoEntry 12 }

extremeWirelessClientAssocInfoErrorRateMismatch OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of failed associations due to 
         a mismatch of the rate IEs."
         ::= { extremeWirelessClientAssocInfoEntry 13 }

extremeWirelessClientAssocInfoErrorBadState OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of failed associations due to 
         the client being in the wrong state."
         ::= { extremeWirelessClientAssocInfoEntry 14 }

extremeWirelessClientAssocInfoErrorBadCapability OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of failed associations due to 
         the client having a capability mismatch with the AP."
         ::= { extremeWirelessClientAssocInfoEntry 15 }

extremeWirelessClientAssocInfoErrorCounterMeasure OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of failed associations due to 
         the client being subject to a counter measure."
         ::= { extremeWirelessClientAssocInfoEntry 16 }

extremeWirelessClientAssocInfoErrorMcastCipher OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of failed associations due to 
         the client not supporting the current multicast cipher."
         ::= { extremeWirelessClientAssocInfoEntry 17 }

extremeWirelessClientAssocInfoErrorMaxAssoc OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of failed associations due to 
         the AP having too many associations already."
         ::= { extremeWirelessClientAssocInfoEntry 18 }

extremeWirelessClientAssocInfoErrorRSNRequired OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of failed associations due to 
         the client not supplying the (required) RSN IE."
         ::= { extremeWirelessClientAssocInfoEntry 19 }

extremeWirelessClientAssocInfoErrorRSNMismatch OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of failed associations due to 
         the client's RSN IE not matching supported features on 
         the AP."
         ::= { extremeWirelessClientAssocInfoEntry 20 }

extremeWirelessClientAssocInfoErrorOther OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of failed associations due to 
         the client's RSN IE not matching supported features on 
         the AP."
         ::= { extremeWirelessClientAssocInfoEntry 21 }

extremeWirelessClientAssocInfoWPAIEPresent OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "If this value is true it indicates that WPA information was
         gathered from this station in the last association request.
         If true, it implies the values of the WPA variables below 
         are valid.  If false, it indicates that this station did not
         send a WPA IE in its last association."
        ::= { extremeWirelessClientAssocInfoEntry 22 }

extremeWirelessClientAssocInfoWPAVersion OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This value gives the version of WPA supported by this station.
         See IEEE 802.11i Draft 3.0 section 7 for meaning of various
         values."
        ::= { extremeWirelessClientAssocInfoEntry 23 }

extremeWirelessClientAssocInfoWPAIEMcastCipher OBJECT-TYPE
        SYNTAX WPACipherSet
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This value gives the single multicast cipher supported by this
         client."
        ::= { extremeWirelessClientAssocInfoEntry 24 }

extremeWirelessClientAssocInfoWPAUcastCipherCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of set bits in the ucast cipher
         variable below.  In this case this number should always
         be 1."
        ::= { extremeWirelessClientAssocInfoEntry 25 }

extremeWirelessClientAssocInfoWPAUcastCipher OBJECT-TYPE
        SYNTAX WPACipherSet
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the cipher suites which was requested by 
         this client during its last assoc req."
        ::= { extremeWirelessClientAssocInfoEntry 26 }

extremeWirelessClientAssocInfoWPAKeyMgmtCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This value gives the number of key management suites 
         requested by this client in the last assoc. req message.
         It indicates the number of set bits in the mgmt suite 
         variable below."
        ::= { extremeWirelessClientAssocInfoEntry 27 }

extremeWirelessClientAssocInfoWPAKeyMgmtSuite OBJECT-TYPE
        SYNTAX WPAKeyMgmtSet
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Gives the key management suite requested by this client 
         during its last association request."
        ::= { extremeWirelessClientAssocInfoEntry 28 }

extremeWirelessClientAssocIEBlob OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the IE list sent in the association frame encoded as
         a series of TLVs."
        ::= { extremeWirelessClientAssocInfoEntry 29 }


-- *************************************************************** --
-- Authentication Information Table : This table contains infor on --
-- the MAC-layer authentication of each client which has tried to  --
-- authenticate with this AP.
-- *************************************************************** --
extremeWirelessClientAuthInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessClientAuthInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains one row per client on a wireless interface.
         It gives information about the authentication history and params
         of that client."
         ::= { extremeAP 35 }

extremeWirelessClientAuthInfoEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessClientAuthInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "Note that ifIndex here is virtual ifIndex (SSID)."
        INDEX { ifIndex, extremeWirelessClientDiagMac }
         ::= { extremeWirelessClientAuthInfoTable 1 }

ExtremeWirelessClientAuthInfoEntry ::= SEQUENCE {
        extremeWirelessClientAuthInfoCurrentAuth        TruthValue,
        extremeWirelessClientAuthInfoTotalAuths         Unsigned32,
        extremeWirelessClientAuthInfoTotalAuthResp      Unsigned32,
        extremeWirelessClientAuthInfoTotalAuthsOK       Unsigned32,
        extremeWirelessClientAuthInfoTotalAuthsFailed   Unsigned32,
        extremeWirelessClientAuthInfoTotalDeauthReq     Unsigned32,
        extremeWirelessClientAuthInfoTotalDeauthResp    Unsigned32,
        extremeWirelessClientAuthInfoTotalOpen          Unsigned32,
        extremeWirelessClientAuthInfoTotalShared        Unsigned32,
        extremeWirelessClientAuthInfoLastAuth           TimeTicks,
        extremeWirelessClientAuthInfoLastAuthType       INTEGER,
        extremeWirelessClientAuthInfoLastError          TimeTicks,
        extremeWirelessClientAuthInfoLastErrorType      INTEGER,
        extremeWirelessClientAuthInfoErrorResourceFailure  Unsigned32,
        extremeWirelessClientAuthInfoErrorSequenceNum   Unsigned32,
        extremeWirelessClientAuthInfoErrorChallengeText Unsigned32,
        extremeWirelessClientAuthInfoErrorTypeMismatch  Unsigned32,
        extremeWirelessClientAuthInfoErrorKeyIndex      Unsigned32,
        extremeWirelessClientAuthInfoErrorOther         Unsigned32
}

extremeWirelessClientAuthInfoCurrentAuth OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the current MAC-layer authentication status of the
         client."
         ::= { extremeWirelessClientAuthInfoEntry 1 }

extremeWirelessClientAuthInfoTotalAuths OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of AUTH REQ packets received from 
         this client since the last time the counters were cleared."
         ::= { extremeWirelessClientAuthInfoEntry 2 }

extremeWirelessClientAuthInfoTotalAuthResp OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of AUTH RESP packets sent to
         this client since the last time the counters were cleared."
         ::= { extremeWirelessClientAuthInfoEntry 3 }

extremeWirelessClientAuthInfoTotalAuthsOK OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of AUTH RESP packets sent to
         this client which carried a STATUS = OK message."
         ::= { extremeWirelessClientAuthInfoEntry 4 }

extremeWirelessClientAuthInfoTotalAuthsFailed OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of AUTH RESP packets sent to
         this client which carried a STATUS = Failed message."
         ::= { extremeWirelessClientAuthInfoEntry 5 }

extremeWirelessClientAuthInfoTotalDeauthReq OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of DEAUTH REQ packets sent from
         this client."
         ::= { extremeWirelessClientAuthInfoEntry 6 }

extremeWirelessClientAuthInfoTotalDeauthResp OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of DEAUTH RESP packets sent to
         this client."
         ::= { extremeWirelessClientAuthInfoEntry 7 }

extremeWirelessClientAuthInfoTotalOpen OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of AUTH REQ packets which 
         requested open authentication from the AP."
         ::= { extremeWirelessClientAuthInfoEntry 8 }

extremeWirelessClientAuthInfoTotalShared OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of AUTH REQ packets which 
         requested shared authentication from the AP."
         ::= { extremeWirelessClientAuthInfoEntry 9 }

extremeWirelessClientAuthInfoLastAuth OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the sysUpTime the last time this client sent
         a request for authentication."
         ::= { extremeWirelessClientAuthInfoEntry 10 }

extremeWirelessClientAuthInfoLastAuthType OBJECT-TYPE
        SYNTAX INTEGER { open(1), shared(2) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the last type of authentication requested by 
         this client."
         ::= { extremeWirelessClientAuthInfoEntry 11 }

extremeWirelessClientAuthInfoLastError OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the sysUpTime of the last authentication failure
         for this client."
         ::= { extremeWirelessClientAuthInfoEntry 12 }

extremeWirelessClientAuthInfoLastErrorType OBJECT-TYPE
    SYNTAX INTEGER { noError(0),
        resourceFailure(1),
        sequenceNumber(2),
        challengeText(3),
        algorithmMismatch(4),
        keyIndex(5),
        otherError(6) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the OID of the last error counter that was 
         incremented for this client."
         ::= { extremeWirelessClientAuthInfoEntry 13 }

extremeWirelessClientAuthInfoErrorResourceFailure OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of authentication failures 
         which have resulted from resource failures."
         ::= { extremeWirelessClientAuthInfoEntry 14 }

extremeWirelessClientAuthInfoErrorSequenceNum OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of authentication failures 
         which have resulted from bad packet sequence numbers."
         ::= { extremeWirelessClientAuthInfoEntry 15 }

extremeWirelessClientAuthInfoErrorChallengeText OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of authentication failures 
         which have resutled from challenge text mismatch."
         ::= { extremeWirelessClientAuthInfoEntry 16 }

extremeWirelessClientAuthInfoErrorTypeMismatch OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of authentication failures 
         which have resutled from the requested authentication
         type (i.e. open/shared) not matching what this virutal
         interface is configured for."
         ::= { extremeWirelessClientAuthInfoEntry 17 }

extremeWirelessClientAuthInfoErrorKeyIndex OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of authentication failures 
         which have resulted from key index mismatches."
         ::= { extremeWirelessClientAuthInfoEntry 18 }

extremeWirelessClientAuthInfoErrorOther OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This is the total number of authentication failures 
         which have resulted from unspecified errors."
         ::= { extremeWirelessClientAuthInfoEntry 19 }


-- *************************************************************** --
-- Client MAC information : This table contains statistics and     --
-- information on each client which has tried to authenticate with --
-- this virtual interface.
-- *************************************************************** --
extremeWirelessClientMACInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessClientMACInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains one entry per source MAC which has tried to
         authenticate with this virtual interface (SSID).  Entries
         are created when AUTH or REATH REQ packets are received from
         new clients.  Entries can be aged out, removed by management
         action, or overwritten by an overflow."
         ::= { extremeAP 36 }

extremeWirelessClientMACInfoEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessClientMACInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex, extremeWirelessClientDiagMac }
         ::= { extremeWirelessClientMACInfoTable 1 }

ExtremeWirelessClientMACInfoEntry ::= SEQUENCE {
        extremeWirelessClientMACInfoMinRSS              INTEGER,
        extremeWirelessClientMACInfoMaxRSS              INTEGER,
        extremeWirelessClientMACInfoAvgRSS              INTEGER,
        extremeWirelessClientMACInfoTotalProbeReq       Unsigned32,
        extremeWirelessClientMACInfoTotalAuthReq        Unsigned32,
        extremeWirelessClientMACInfoTotalAssocReq       Unsigned32,
        extremeWirelessClientMACInfoTotalReAssocReq     Unsigned32,
        extremeWirelessClientMACInfoTotalDeAssocReq     Unsigned32,
        extremeWirelessClientMACInfoTotalDeAuthReq      Unsigned32,
        extremeWirelessClientMACInfoTotalPsPoll         Unsigned32,
        extremeWirelessClientMACInfoTotalData           Unsigned32,
        extremeWirelessClientMACInfoNavValue            Unsigned32
}

extremeWirelessClientMACInfoMinRSS OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the minimum RSS indication of any packet we have
         seen from this client.  A value of 0 indicates that RSSI has
         been unavailable."
         ::= { extremeWirelessClientMACInfoEntry 1 }

extremeWirelessClientMACInfoMaxRSS OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the maximum RSS indication of any packet we have
         seen from this client.  A value of 0 indicates that RSSI has
         been unavailable."
         ::= { extremeWirelessClientMACInfoEntry 2 }

extremeWirelessClientMACInfoAvgRSS OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the average RSS indication of any packet we have
         seen from this client.  A value of 0 indicates that RSSI has
         been unavailable."
         ::= { extremeWirelessClientMACInfoEntry 3 }

extremeWirelessClientMACInfoTotalProbeReq OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of PROBE REQ packets recieved from
         this client since the counters have been cleared."
         ::= { extremeWirelessClientMACInfoEntry 4 }

extremeWirelessClientMACInfoTotalAuthReq OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of AUTH REQ packets recieved from
         this client since the counters have been cleared."
         ::= { extremeWirelessClientMACInfoEntry 5 }

extremeWirelessClientMACInfoTotalAssocReq OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of ASSOC REQ packets recieved from
         this client since the counters have been cleared."
         ::= { extremeWirelessClientMACInfoEntry 6 }

extremeWirelessClientMACInfoTotalReAssocReq OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of REASSOC REQ packets recieved from
         this client since the counters have been cleared."
         ::= { extremeWirelessClientMACInfoEntry 7 }

extremeWirelessClientMACInfoTotalDeAssocReq OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of DEASSOC REQ packets recieved from
         this client since the counters have been cleared."
         ::= { extremeWirelessClientMACInfoEntry 8 }

extremeWirelessClientMACInfoTotalDeAuthReq OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of DEAUTH REQ packets recieved from
         this client since the counters have been cleared."
         ::= { extremeWirelessClientMACInfoEntry 9 }

extremeWirelessClientMACInfoTotalPsPoll OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of PS POLL packets recieved from
         this client since the counters have been cleared."
         ::= { extremeWirelessClientMACInfoEntry 10 }

extremeWirelessClientMACInfoTotalData OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of data frames received from this
         client since the counters have been cleared."
         ::= { extremeWirelessClientMACInfoEntry 11 }

extremeWirelessClientMACInfoNavValue OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "TODO: Is this an average, total, what?"
         ::= { extremeWirelessClientMACInfoEntry 12 }


-- *************************************************************** --
-- Size Based Counters : This table gives per-client histogram     --
-- counters based on the size of received packets/fragments.       --
-- *************************************************************** --
extremeWirelessClientSizeCounterTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessClientSizeCounterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "There is one entry in this table for each client which has
         tried to authenticate with this virtual interface.  A new 
         entry is created when an AUTH or REATH REQ packet is received
         from a new station.  Entries are removed by management action,
         timeout or overwritten due to overflow.
         
         Entries in this table are also indexed by virtual interface.
         A client which has tried to authenticate to multiple virtual   
         interfaces may have more than one entry in this table."
         ::= { extremeAP 37 }

extremeWirelessClientSizeCounterEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessClientSizeCounterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex, extremeWirelessClientDiagMac }
         ::= { extremeWirelessClientSizeCounterTable 1 }

ExtremeWirelessClientSizeCounterEntry ::= SEQUENCE {
        extremeWirelessClientFrameSizeReXmit64          Unsigned32,
        extremeWirelessClientFrameSizeReXmit128         Unsigned32,
        extremeWirelessClientFrameSizeReXmit256         Unsigned32,
        extremeWirelessClientFrameSizeReXmit512         Unsigned32,
        extremeWirelessClientFrameSizeReXmit1024        Unsigned32,
        extremeWirelessClientFrameSizeReXmit2048        Unsigned32,
        extremeWirelessClientFrameSizeTX64              Unsigned32,
        extremeWirelessClientFrameSizeTX128             Unsigned32,
        extremeWirelessClientFrameSizeTX256             Unsigned32,
        extremeWirelessClientFrameSizeTX512             Unsigned32,
        extremeWirelessClientFrameSizeTX1024            Unsigned32,
        extremeWirelessClientFrameSizeTX2048            Unsigned32,
        extremeWirelessClientFrameSizeRX64              Unsigned32,
        extremeWirelessClientFrameSizeRX128             Unsigned32,
        extremeWirelessClientFrameSizeRX256             Unsigned32,
        extremeWirelessClientFrameSizeRX512             Unsigned32,
        extremeWirelessClientFrameSizeRX1024            Unsigned32,
        extremeWirelessClientFrameSizeRX2048            Unsigned32,
        extremeWirelessClientFrameSizeErrorTX64         Unsigned32,
        extremeWirelessClientFrameSizeErrorTX128        Unsigned32,
        extremeWirelessClientFrameSizeErrorTX256        Unsigned32,
        extremeWirelessClientFrameSizeErrorTX512        Unsigned32,
        extremeWirelessClientFrameSizeErrorTX1024       Unsigned32,
        extremeWirelessClientFrameSizeErrorTX2048       Unsigned32,
        extremeWirelessClientFrameSizeErrorRX64         Unsigned32,
        extremeWirelessClientFrameSizeErrorRX128        Unsigned32,
        extremeWirelessClientFrameSizeErrorRX256        Unsigned32,
        extremeWirelessClientFrameSizeErrorRX512        Unsigned32,
        extremeWirelessClientFrameSizeErrorRX1024       Unsigned32,
        extremeWirelessClientFrameSizeErrorRX2048       Unsigned32,
        extremeWirelessClientPacketSizeTX64             Unsigned32,
        extremeWirelessClientPacketSizeTX128            Unsigned32,
        extremeWirelessClientPacketSizeTX256            Unsigned32,
        extremeWirelessClientPacketSizeTX512            Unsigned32,
        extremeWirelessClientPacketSizeTX1024           Unsigned32,
        extremeWirelessClientPacketSizeTX2048           Unsigned32,
        extremeWirelessClientPacketSizeRX64             Unsigned32,
        extremeWirelessClientPacketSizeRX128            Unsigned32,
        extremeWirelessClientPacketSizeRX256            Unsigned32,
        extremeWirelessClientPacketSizeRX512            Unsigned32,
        extremeWirelessClientPacketSizeRX1024           Unsigned32,
        extremeWirelessClientPacketSizeRX2048           Unsigned32
}

extremeWirelessClientFrameSizeReXmit64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags retransmitted to this
         client which were less than or equal to 64 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 1 }

extremeWirelessClientFrameSizeReXmit128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags retransmitted to this
         client which were between 64 and 128 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 2 }

extremeWirelessClientFrameSizeReXmit256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags retransmitted to this
         client which were between 128 and 256 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 3 }

extremeWirelessClientFrameSizeReXmit512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags retransmitted to this
         client which were between 256 and 512 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 4 }

extremeWirelessClientFrameSizeReXmit1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags retransmitted to this
         client which were between 512 and 1024 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 5 }

extremeWirelessClientFrameSizeReXmit2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags retransmitted to this
         client which were between 1024 and 2048 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 6 }

extremeWirelessClientFrameSizeTX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags transmitted to this
         client which were less than or equal to 64 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 7 }

extremeWirelessClientFrameSizeTX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags transmitted to this
         client which were between 64 and 128 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 8 }

extremeWirelessClientFrameSizeTX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags transmitted to this
         client which were between 128 and 256 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 9 }

extremeWirelessClientFrameSizeTX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags transmitted to this
         client which were between 256 and 512 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 10 }

extremeWirelessClientFrameSizeTX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags transmitted to this
         client which were between 512 and 1024 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 11 }

extremeWirelessClientFrameSizeTX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags transmitted to this
         client which were between 1024 and 2048 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 12 }

extremeWirelessClientFrameSizeRX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags received from this
         client which were less than or equal to 64 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 13 }

extremeWirelessClientFrameSizeRX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags received from this
         client which were between 64 and 128 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 14 }

extremeWirelessClientFrameSizeRX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags received from this
         client which were between 128 and 256 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 15 }

extremeWirelessClientFrameSizeRX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags received from this
         client which were between 256 and 512 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 16 }

extremeWirelessClientFrameSizeRX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags received from this
         client which were between 512 and 1024 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 17 }

extremeWirelessClientFrameSizeRX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags received from this
         client which were between 1024 and 2048 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 18 }

extremeWirelessClientFrameSizeErrorTX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which failed to be sent from
         this client with a length between 0 and 64 bytes."
         ::= { extremeWirelessClientSizeCounterEntry 19 }

extremeWirelessClientFrameSizeErrorTX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which failed to be sent from
         this client with a length between 65 and 128 bytes."
         ::= { extremeWirelessClientSizeCounterEntry 20 }

extremeWirelessClientFrameSizeErrorTX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which failed to be sent from
         this client with a length between 129 and 256 bytes."
         ::= { extremeWirelessClientSizeCounterEntry 21 }

extremeWirelessClientFrameSizeErrorTX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which failed to be sent from
         this client with a length between 257 and 512 bytes."
         ::= { extremeWirelessClientSizeCounterEntry 22 }

extremeWirelessClientFrameSizeErrorTX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which failed to be sent from
         this client with a length between 513 and 1024 bytes."
         ::= { extremeWirelessClientSizeCounterEntry 23 }

extremeWirelessClientFrameSizeErrorTX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which failed to be sent from
         this client with a length between 1025 and 2048 bytes."
         ::= { extremeWirelessClientSizeCounterEntry 24 }

extremeWirelessClientFrameSizeErrorRX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received with
         an FCS or other error and a length between 0 and 64 bytes."
         ::= { extremeWirelessClientSizeCounterEntry 25 }

extremeWirelessClientFrameSizeErrorRX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received with
         an FCS or other error and a length between 65 and 128 bytes."
         ::= { extremeWirelessClientSizeCounterEntry 26 }

extremeWirelessClientFrameSizeErrorRX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received with
         an FCS or other error and a length between 129 and 256 bytes."
         ::= { extremeWirelessClientSizeCounterEntry 27 }

extremeWirelessClientFrameSizeErrorRX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received with
         an FCS or other error and a length between 257 and 512 bytes."
         ::= { extremeWirelessClientSizeCounterEntry 28 }

extremeWirelessClientFrameSizeErrorRX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received with
         an FCS or other error and a length between 513 and 1024 bytes."
         ::= { extremeWirelessClientSizeCounterEntry 29 }

extremeWirelessClientFrameSizeErrorRX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received with
         an FCS or other error and a length between 1025 and 2048 bytes."
         ::= { extremeWirelessClientSizeCounterEntry 30 }

extremeWirelessClientPacketSizeTX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of packets transmitted to this
         client which were less than or equal to 64 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 31 }

extremeWirelessClientPacketSizeTX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of packets transmitted to this
         client which were between 64 and 128 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 32 }

extremeWirelessClientPacketSizeTX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of packets transmitted to this
         client which were between 128 and 256 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 33 }

extremeWirelessClientPacketSizeTX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of packets transmitted to this
         client which were between 256 and 512 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 34 }

extremeWirelessClientPacketSizeTX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of packets transmitted to this
         client which were between 512 and 1024 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 35 }

extremeWirelessClientPacketSizeTX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of packets transmitted to this
         client which were between 1024 and 2048 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 36 }

extremeWirelessClientPacketSizeRX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of packets received from this
         client which were less than or equal to 64 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 37 }

extremeWirelessClientPacketSizeRX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of packets received from this
         client which were between 64 and 128 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 38 }

extremeWirelessClientPacketSizeRX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of packets received from this
         client which were between 128 and 256 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 39 }

extremeWirelessClientPacketSizeRX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of packets received from this
         client which were between 256 and 512 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 40 }

extremeWirelessClientPacketSizeRX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of packets received from this
         client which were between 512 and 1024 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 41 }

extremeWirelessClientPacketSizeRX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of packets received from this
         client which were between 1024 and 2048 bytes in length."
         ::= { extremeWirelessClientSizeCounterEntry 42 }

-- *************************************************************** --
-- Per Client Speed : This table gives a histogram of statistics   --
-- based on the speed of transmission/reception of packets on a    --
-- virtual interface.                                              --
-- *************************************************************** --
extremeWirelessClientSpeedCounterTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessClientSpeedCounterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table is indexed by wireless interface index.  These
         are the virtual interfaces corresponding to the SSID.  Support
         for this table is optional, indicated by the value of the variable
         extremeWirelessClientDiagSupportsSpeedCounters in the status table."
         ::= { extremeAP 38 }

extremeWirelessClientSpeedCounterEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessClientSpeedCounterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "The ifIndex here is the wireless interface (SSID).  It is expected
         that an entry will be created in this table only after a client
         sends a AUTH or REATH packet to the SSID."
        INDEX { ifIndex, extremeWirelessClientDiagMac }
         ::= { extremeWirelessClientSpeedCounterTable 1 }

ExtremeWirelessClientSpeedCounterEntry ::= SEQUENCE {
        extremeWirelessClientSpeedReXmit1       Unsigned32,
        extremeWirelessClientSpeedReXmit2       Unsigned32,
        extremeWirelessClientSpeedReXmit5p5     Unsigned32,
        extremeWirelessClientSpeedReXmit6       Unsigned32,
        extremeWirelessClientSpeedReXmit9       Unsigned32,
        extremeWirelessClientSpeedReXmit12      Unsigned32,
        extremeWirelessClientSpeedReXmit18      Unsigned32,
        extremeWirelessClientSpeedReXmit24      Unsigned32,
        extremeWirelessClientSpeedReXmit36      Unsigned32,
        extremeWirelessClientSpeedReXmit48      Unsigned32,
        extremeWirelessClientSpeedReXmit54      Unsigned32,
        extremeWirelessClientSpeedTX1           Unsigned32,
        extremeWirelessClientSpeedTX2           Unsigned32,
        extremeWirelessClientSpeedTX5p5         Unsigned32,
        extremeWirelessClientSpeedTX6           Unsigned32,
        extremeWirelessClientSpeedTX9           Unsigned32,
        extremeWirelessClientSpeedTX12          Unsigned32,
        extremeWirelessClientSpeedTX18          Unsigned32,
        extremeWirelessClientSpeedTX24          Unsigned32,
        extremeWirelessClientSpeedTX36          Unsigned32,
        extremeWirelessClientSpeedTX48          Unsigned32,
        extremeWirelessClientSpeedTX54          Unsigned32,
        extremeWirelessClientSpeedRX1           Unsigned32,
        extremeWirelessClientSpeedRX2           Unsigned32,
        extremeWirelessClientSpeedRX5p5         Unsigned32,
        extremeWirelessClientSpeedRX6           Unsigned32,
        extremeWirelessClientSpeedRX9           Unsigned32,
        extremeWirelessClientSpeedRX12          Unsigned32,
        extremeWirelessClientSpeedRX18          Unsigned32,
        extremeWirelessClientSpeedRX24          Unsigned32,
        extremeWirelessClientSpeedRX36          Unsigned32,
        extremeWirelessClientSpeedRX48          Unsigned32,
        extremeWirelessClientSpeedRX54          Unsigned32
}

extremeWirelessClientSpeedReXmit1       OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were retransmitted to
         the given client at 1 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 1 }

extremeWirelessClientSpeedReXmit2       OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were retransmitted to
         the given client at 2 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 2 }

extremeWirelessClientSpeedReXmit5p5 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were retransmitted to
         the given client at 5 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 3 }

extremeWirelessClientSpeedReXmit6 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were retransmitted to
         the given client at 6 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 4 }

extremeWirelessClientSpeedReXmit9 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were retransmitted to
         the given client at 9 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 5 }

extremeWirelessClientSpeedReXmit12 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were retransmitted to
         the given client at 12 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 6 }

extremeWirelessClientSpeedReXmit18 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were retransmitted to
         the given client at 18 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 7 }

extremeWirelessClientSpeedReXmit24 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were retransmitted to
         the given client at 24 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 8 }
        
extremeWirelessClientSpeedReXmit36 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were retransmitted to
         the given client at 36 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 9 }

extremeWirelessClientSpeedReXmit48 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were retransmitted to
         the given client at 48 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 10 }

extremeWirelessClientSpeedReXmit54 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were retransmitted to
         the given client at 54 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 11 }

extremeWirelessClientSpeedTX1   OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were transmitted to
         the given client at 1 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 12 }

extremeWirelessClientSpeedTX2   OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were transmitted to
         the given client at 2 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 13 }

extremeWirelessClientSpeedTX5p5 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were transmitted to
         the given client at 5 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 14 }

extremeWirelessClientSpeedTX6 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were transmitted to
         the given client at 6 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 15 }

extremeWirelessClientSpeedTX9 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were transmitted to
         the given client at 9 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 16 }

extremeWirelessClientSpeedTX12 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were transmitted to
         the given client at 12 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 17 }

extremeWirelessClientSpeedTX18 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were transmitted to
         the given client at 18 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 18 }

extremeWirelessClientSpeedTX24 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were transmitted to
         the given client at 24 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 19 }
        
extremeWirelessClientSpeedTX36 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were transmitted to
         the given client at 36 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 20 }

extremeWirelessClientSpeedTX48 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were transmitted to
         the given client at 48 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 21 }

extremeWirelessClientSpeedTX54 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were transmitted to
         the given client at 54 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 22 }

extremeWirelessClientSpeedRX1   OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received from
         the given client at 1 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 23 }

extremeWirelessClientSpeedRX2   OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received from
         the given client at 2 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 24 }

extremeWirelessClientSpeedRX5p5 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received from
         the given client at 5 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 25 }

extremeWirelessClientSpeedRX6 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received from
         the given client at 6 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 26 }

extremeWirelessClientSpeedRX9 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received from
         the given client at 9 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 27 }

extremeWirelessClientSpeedRX12 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received from
         the given client at 12 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 28 }

extremeWirelessClientSpeedRX18 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received from
         the given client at 18 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 29 }

extremeWirelessClientSpeedRX24 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received from
         the given client at 24 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 30 }
        
extremeWirelessClientSpeedRX36 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received from
         the given client at 36 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 31 }

extremeWirelessClientSpeedRX48 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received from
         the given client at 48 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 32 }

extremeWirelessClientSpeedRX54 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frags which were received from
         the given client at 54 Mbps."
        ::= { extremeWirelessClientSpeedCounterEntry 33 }

-- *************************************************************** --
-- Frame Size Table : This table presents a historgram of frames   --
--                    based on type and size.                      --
-- *************************************************************** --
extremeWirelessIntfFrameSizeTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessIntfFrameSizeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "There is one entry in this table for each virtual and
         physical interface.  Values for physical interfaces are
         summations of the values for the constituent virtual 
         interfaces."
         ::= { extremeAP 39 }

extremeWirelessIntfFrameSizeEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessIntfFrameSizeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex }
         ::= { extremeWirelessIntfFrameSizeTable 1 }
ExtremeWirelessIntfFrameSizeEntry ::= SEQUENCE {
        extremeWirelessIntfFrameSizeMgmtTX64    Unsigned32,
        extremeWirelessIntfFrameSizeMgmtTX128   Unsigned32,
        extremeWirelessIntfFrameSizeMgmtTX256   Unsigned32,
        extremeWirelessIntfFrameSizeMgmtTX512   Unsigned32,
        extremeWirelessIntfFrameSizeMgmtTX1024  Unsigned32,
        extremeWirelessIntfFrameSizeMgmtTX2048  Unsigned32,
        extremeWirelessIntfFrameSizeMgmtRX64    Unsigned32,
        extremeWirelessIntfFrameSizeMgmtRX128   Unsigned32,
        extremeWirelessIntfFrameSizeMgmtRX256   Unsigned32,
        extremeWirelessIntfFrameSizeMgmtRX512   Unsigned32,
        extremeWirelessIntfFrameSizeMgmtRX1024  Unsigned32,
        extremeWirelessIntfFrameSizeMgmtRX2048  Unsigned32,
        extremeWirelessIntfFrameSizeCtlTX64     Unsigned32,
        extremeWirelessIntfFrameSizeCtlTX128    Unsigned32,
        extremeWirelessIntfFrameSizeCtlTX256    Unsigned32,
        extremeWirelessIntfFrameSizeCtlTX512    Unsigned32,
        extremeWirelessIntfFrameSizeCtlTX1024   Unsigned32,
        extremeWirelessIntfFrameSizeCtlTX2048   Unsigned32,
        extremeWirelessIntfFrameSizeCtlRX64     Unsigned32,
        extremeWirelessIntfFrameSizeCtlRX128    Unsigned32,
        extremeWirelessIntfFrameSizeCtlRX256    Unsigned32,
        extremeWirelessIntfFrameSizeCtlRX512    Unsigned32,
        extremeWirelessIntfFrameSizeCtlRX1024   Unsigned32,
        extremeWirelessIntfFrameSizeCtlRX2048   Unsigned32,
        extremeWirelessIntfFrameSizeDataTX64    Unsigned32,
        extremeWirelessIntfFrameSizeDataTX128   Unsigned32,
        extremeWirelessIntfFrameSizeDataTX256   Unsigned32,
        extremeWirelessIntfFrameSizeDataTX512   Unsigned32,
        extremeWirelessIntfFrameSizeDataTX1024  Unsigned32,
        extremeWirelessIntfFrameSizeDataTX2048  Unsigned32,
        extremeWirelessIntfFrameSizeDataRX64    Unsigned32,
        extremeWirelessIntfFrameSizeDataRX128   Unsigned32,
        extremeWirelessIntfFrameSizeDataRX256   Unsigned32,
        extremeWirelessIntfFrameSizeDataRX512   Unsigned32,
        extremeWirelessIntfFrameSizeDataRX1024  Unsigned32,
        extremeWirelessIntfFrameSizeDataRX2048  Unsigned32 }

extremeWirelessIntfFrameSizeMgmtTX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of management-type frames transmitted 
         on this interface which were less than or equal to 64 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 1 }

extremeWirelessIntfFrameSizeMgmtTX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of management-type frames transmitted 
         on this interface which were between 65 and 128 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 2 }

extremeWirelessIntfFrameSizeMgmtTX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of management-type frames transmitted 
         on this interface which were between 129 and 256 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 3 }

extremeWirelessIntfFrameSizeMgmtTX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of management-type frames transmitted 
         on this interface which were between 257 and 512 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 4 }

extremeWirelessIntfFrameSizeMgmtTX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of management-type frames transmitted 
         on this interface which were between 513 and 1024 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 5 }

extremeWirelessIntfFrameSizeMgmtTX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of management-type frames transmitted 
         on this interface which were between 1025 and 2048 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 6 }

extremeWirelessIntfFrameSizeMgmtRX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of management-type frames received 
         on this interface which were less than or equal to 64 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 7 }

extremeWirelessIntfFrameSizeMgmtRX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of management-type frames received 
         on this interface which were between 65 and 128 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 8 }

extremeWirelessIntfFrameSizeMgmtRX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of management-type frames received 
         on this interface which were between 129 and 256 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 9 }

extremeWirelessIntfFrameSizeMgmtRX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of management-type frames received 
         on this interface which were between 257 and 512 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 10 }

extremeWirelessIntfFrameSizeMgmtRX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of management-type frames received 
         on this interface which were between 513 and 1024 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 11 }

extremeWirelessIntfFrameSizeMgmtRX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of management-type frames received 
         on this interface which were between 1025 and 2048 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 12 }

extremeWirelessIntfFrameSizeCtlTX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of control-type frames transmitted 
         on this interface which were less than or equal to 64 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 13 }

extremeWirelessIntfFrameSizeCtlTX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of control-type frames transmitted 
         on this interface which were between 65 and 128 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 14 }

extremeWirelessIntfFrameSizeCtlTX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of control-type frames transmitted 
         on this interface which were between 129 and 256 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 15 }

extremeWirelessIntfFrameSizeCtlTX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of control-type frames transmitted 
         on this interface which were between 257 and 512 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 16 }

extremeWirelessIntfFrameSizeCtlTX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of control-type frames transmitted 
         on this interface which were between 513 and 1024 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 17 }

extremeWirelessIntfFrameSizeCtlTX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of control-type frames transmitted 
         on this interface which were between 1025 and 2048 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 18 }

extremeWirelessIntfFrameSizeCtlRX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of control-type frames received 
         on this interface which were less than or equal to 64 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 19 }

extremeWirelessIntfFrameSizeCtlRX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of control-type frames received 
         on this interface which were between 65 and 128 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 20 }

extremeWirelessIntfFrameSizeCtlRX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of control-type frames received 
         on this interface which were between 129 and 256 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 21 }

extremeWirelessIntfFrameSizeCtlRX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of control-type frames received 
         on this interface which were between 257 and 512 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 22 }

extremeWirelessIntfFrameSizeCtlRX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of control-type frames received 
         on this interface which were between 513 and 1024 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 23 }

extremeWirelessIntfFrameSizeCtlRX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of control-type frames received 
         on this interface which were between 1025 and 2048 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 24 }

extremeWirelessIntfFrameSizeDataTX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of data-type frames transmitted 
         on this interface which were less than or equal to 64 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 25 }

extremeWirelessIntfFrameSizeDataTX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of data-type frames transmitted 
         on this interface which were between 65 and 128 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 26 }

extremeWirelessIntfFrameSizeDataTX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of data-type frames transmitted 
         on this interface which were between 129 and 256 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 27 }

extremeWirelessIntfFrameSizeDataTX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of data-type frames transmitted 
         on this interface which were between 257 and 512 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 28 }

extremeWirelessIntfFrameSizeDataTX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of data-type frames transmitted 
         on this interface which were between 513 and 1024 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 29 }

extremeWirelessIntfFrameSizeDataTX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of data-type frames transmitted 
         on this interface which were between 1025 and 2048 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 30 }

extremeWirelessIntfFrameSizeDataRX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of data-type frames received 
         on this interface which were less than or equal to 64 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 31 }

extremeWirelessIntfFrameSizeDataRX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of data-type frames received 
         on this interface which were between 65 and 128 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 32 }

extremeWirelessIntfFrameSizeDataRX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of data-type frames received 
         on this interface which were between 129 and 256 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 33 }

extremeWirelessIntfFrameSizeDataRX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of data-type frames received 
         on this interface which were between 257 and 512 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 34 }

extremeWirelessIntfFrameSizeDataRX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of data-type frames received 
         on this interface which were between 513 and 1024 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 35 }

extremeWirelessIntfFrameSizeDataRX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of data-type frames received 
         on this interface which were between 1025 and 2048 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeEntry 36 }

-- *************************************************************** --
-- Frame errors by size.                                           --
-- *************************************************************** --
extremeWirelessIntfFrameSizeErrorTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessIntfFrameSizeErrorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "There is one entry in this table for each virtual and
         physical interface.  Values for physical interfaces are
         summations of the values for the constituent virtual 
         interfaces."
         ::= { extremeAP 40 }

extremeWirelessIntfFrameSizeErrorEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessIntfFrameSizeErrorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex }
         ::= { extremeWirelessIntfFrameSizeErrorTable 1 }


ExtremeWirelessIntfFrameSizeErrorEntry ::= SEQUENCE {
        extremeWirelessIntfFrameSizeReXmit64    Unsigned32,
        extremeWirelessIntfFrameSizeReXmit128   Unsigned32,
        extremeWirelessIntfFrameSizeReXmit256   Unsigned32,
        extremeWirelessIntfFrameSizeReXmit512   Unsigned32,
        extremeWirelessIntfFrameSizeReXmit1024  Unsigned32,
        extremeWirelessIntfFrameSizeReXmit2048  Unsigned32,
        extremeWirelessIntfFrameSizeErrorTX64   Unsigned32,
        extremeWirelessIntfFrameSizeErrorTX128  Unsigned32,
        extremeWirelessIntfFrameSizeErrorTX256  Unsigned32,
        extremeWirelessIntfFrameSizeErrorTX512  Unsigned32,
        extremeWirelessIntfFrameSizeErrorTX1024 Unsigned32,
        extremeWirelessIntfFrameSizeErrorTX2048 Unsigned32,
        extremeWirelessIntfFrameSizeErrorRX64   Unsigned32,
        extremeWirelessIntfFrameSizeErrorRX128  Unsigned32,
        extremeWirelessIntfFrameSizeErrorRX256  Unsigned32,
        extremeWirelessIntfFrameSizeErrorRX512  Unsigned32,
        extremeWirelessIntfFrameSizeErrorRX1024 Unsigned32,
        extremeWirelessIntfFrameSizeErrorRX2048 Unsigned32 }

extremeWirelessIntfFrameSizeReXmit64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames retransmitted on this 
         interface which were less than or equal to 64 bytes
         in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 1 }

extremeWirelessIntfFrameSizeReXmit128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames retransmitted on this 
         interface which were between 65 and 128 bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 2 }

extremeWirelessIntfFrameSizeReXmit256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames retransmitted on this 
         interface which were between 129 and 256 bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 3 }

extremeWirelessIntfFrameSizeReXmit512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames retransmitted on this 
         interface which were between 257 and 512 bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 4 }

extremeWirelessIntfFrameSizeReXmit1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames retransmitted on this 
         interface which were between 513 and 1024 bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 5 }

extremeWirelessIntfFrameSizeReXmit2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames retransmitted on this 
         interface which were between 1025 and 2048 bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 6 }

extremeWirelessIntfFrameSizeErrorTX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which failed to be 
         transmitted interface which were less than or equal 
         to 64 bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 7 }

extremeWirelessIntfFrameSizeErrorTX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which failed to be 
         transmitted interface which were between 65 and 128
         bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 8 }

extremeWirelessIntfFrameSizeErrorTX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which failed to be 
         transmitted interface which were between 129 and 256
         bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 9 }

extremeWirelessIntfFrameSizeErrorTX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which failed to be 
         transmitted interface which were between 257 and 512
         bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 10 }

extremeWirelessIntfFrameSizeErrorTX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which failed to be 
         transmitted interface which were between 513 and 1024
         bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 11 }

extremeWirelessIntfFrameSizeErrorTX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which failed to be 
         transmitted interface which were between 1025 and 2048
         bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 12 }

extremeWirelessIntfFrameSizeErrorRX64 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which had errors on
         receive on this interface which were less than or equal 
         to 64 bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 13 }

extremeWirelessIntfFrameSizeErrorRX128 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which had errors on
         receive on this interface which were between 65 and
         128 bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 14 }

extremeWirelessIntfFrameSizeErrorRX256 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which had errors on
         receive on this interface which were between 129 and
         256 bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 15 }

extremeWirelessIntfFrameSizeErrorRX512 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which had errors on
         receive on this interface which were between 257 and
         512 bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 16 }

extremeWirelessIntfFrameSizeErrorRX1024 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which had errors on
         receive on this interface which were between 513 and
         1024 bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 17 }

extremeWirelessIntfFrameSizeErrorRX2048 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which had errors on
         receive on this interface which were between 1025 and
         2048 bytes in length."
         ::= { extremeWirelessIntfFrameSizeErrorEntry 18 }

-- *************************************************************** --
-- TX/RX Histogram based on speed.
-- *************************************************************** --
extremeWirelessIntfFrameSpeedTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessIntfFrameSpeedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "There is one entry in this table for each virtual and
         physical interface.  Values for physical interfaces are
         summations of the values for the constituent virtual 
         interfaces."
         ::= { extremeAP 41 }

extremeWirelessIntfFrameSpeedEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessIntfFrameSpeedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex }
         ::= { extremeWirelessIntfFrameSpeedTable 1 }

ExtremeWirelessIntfFrameSpeedEntry ::= SEQUENCE {
        extremeWirelessIntfSpeedMgmtTX1         Unsigned32,
        extremeWirelessIntfSpeedMgmtTX2         Unsigned32,
        extremeWirelessIntfSpeedMgmtTX5p5       Unsigned32,
        extremeWirelessIntfSpeedMgmtTX6         Unsigned32,
        extremeWirelessIntfSpeedMgmtTX9         Unsigned32,
    extremeWirelessIntfSpeedMgmtTX11    Unsigned32,
        extremeWirelessIntfSpeedMgmtTX12        Unsigned32,
        extremeWirelessIntfSpeedMgmtTX18        Unsigned32,
        extremeWirelessIntfSpeedMgmtTX24        Unsigned32,
        extremeWirelessIntfSpeedMgmtTX36        Unsigned32,
        extremeWirelessIntfSpeedMgmtTX48        Unsigned32,
        extremeWirelessIntfSpeedMgmtTX54        Unsigned32,
        extremeWirelessIntfSpeedMgmtRX1         Unsigned32,
        extremeWirelessIntfSpeedMgmtRX2         Unsigned32,
        extremeWirelessIntfSpeedMgmtRX5p5       Unsigned32,
        extremeWirelessIntfSpeedMgmtRX6         Unsigned32,
        extremeWirelessIntfSpeedMgmtRX9         Unsigned32,
        extremeWirelessIntfSpeedMgmtRX11        Unsigned32,
        extremeWirelessIntfSpeedMgmtRX12        Unsigned32,
        extremeWirelessIntfSpeedMgmtRX18        Unsigned32,
        extremeWirelessIntfSpeedMgmtRX24        Unsigned32,
        extremeWirelessIntfSpeedMgmtRX36        Unsigned32,
        extremeWirelessIntfSpeedMgmtRX48        Unsigned32,
        extremeWirelessIntfSpeedMgmtRX54        Unsigned32,
        extremeWirelessIntfSpeedCtlTX1          Unsigned32,
        extremeWirelessIntfSpeedCtlTX2          Unsigned32,
        extremeWirelessIntfSpeedCtlTX5p5        Unsigned32,
        extremeWirelessIntfSpeedCtlTX6          Unsigned32,
        extremeWirelessIntfSpeedCtlTX9          Unsigned32,
    extremeWirelessIntfSpeedCtlTX11     Unsigned32,
        extremeWirelessIntfSpeedCtlTX12         Unsigned32,
        extremeWirelessIntfSpeedCtlTX18         Unsigned32,
        extremeWirelessIntfSpeedCtlTX24         Unsigned32,
        extremeWirelessIntfSpeedCtlTX36         Unsigned32,
        extremeWirelessIntfSpeedCtlTX48         Unsigned32,
        extremeWirelessIntfSpeedCtlTX54         Unsigned32,
        extremeWirelessIntfSpeedCtlRX1          Unsigned32,
        extremeWirelessIntfSpeedCtlRX2          Unsigned32,
        extremeWirelessIntfSpeedCtlRX5p5        Unsigned32,
        extremeWirelessIntfSpeedCtlRX6          Unsigned32,
        extremeWirelessIntfSpeedCtlRX9          Unsigned32,
    extremeWirelessIntfSpeedCtlRX11     Unsigned32,
        extremeWirelessIntfSpeedCtlRX12         Unsigned32,
        extremeWirelessIntfSpeedCtlRX18         Unsigned32,
        extremeWirelessIntfSpeedCtlRX24         Unsigned32,
        extremeWirelessIntfSpeedCtlRX36         Unsigned32,
        extremeWirelessIntfSpeedCtlRX48         Unsigned32,
        extremeWirelessIntfSpeedCtlRX54         Unsigned32,
        extremeWirelessIntfSpeedDataTX1         Unsigned32,
        extremeWirelessIntfSpeedDataTX2         Unsigned32,
        extremeWirelessIntfSpeedDataTX5p5       Unsigned32,
        extremeWirelessIntfSpeedDataTX6         Unsigned32,
        extremeWirelessIntfSpeedDataTX9         Unsigned32,
    extremeWirelessIntfSpeedDataTX11    Unsigned32,
        extremeWirelessIntfSpeedDataTX12        Unsigned32,
        extremeWirelessIntfSpeedDataTX18        Unsigned32,
        extremeWirelessIntfSpeedDataTX24        Unsigned32,
        extremeWirelessIntfSpeedDataTX36        Unsigned32,
        extremeWirelessIntfSpeedDataTX48        Unsigned32,
        extremeWirelessIntfSpeedDataTX54        Unsigned32,
        extremeWirelessIntfSpeedDataRX1         Unsigned32,
        extremeWirelessIntfSpeedDataRX2         Unsigned32,
        extremeWirelessIntfSpeedDataRX5p5       Unsigned32,
        extremeWirelessIntfSpeedDataRX6         Unsigned32,
        extremeWirelessIntfSpeedDataRX9         Unsigned32,
    extremeWirelessIntfSpeedDataRX11    Unsigned32,
        extremeWirelessIntfSpeedDataRX12        Unsigned32,
        extremeWirelessIntfSpeedDataRX18        Unsigned32,
        extremeWirelessIntfSpeedDataRX24        Unsigned32,
        extremeWirelessIntfSpeedDataRX36        Unsigned32,
        extremeWirelessIntfSpeedDataRX48        Unsigned32,
        extremeWirelessIntfSpeedDataRX54        Unsigned32 }

extremeWirelessIntfSpeedMgmtTX1 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames transmitted
         on this interface at 1Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 1 }

extremeWirelessIntfSpeedMgmtTX2 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames transmitted
         on this interface at 2Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 2 }

extremeWirelessIntfSpeedMgmtTX5p5 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames transmitted
         on this interface at 5.5Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 3 }

extremeWirelessIntfSpeedMgmtTX6 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames transmitted
         on this interface at 6Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 4 }

extremeWirelessIntfSpeedMgmtTX9 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames transmitted
         on this interface at 9Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 5 }

extremeWirelessIntfSpeedMgmtTX11 OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
     "This gives the number of management-type frames transmitted
     on this interface at 11Mbps."
     ::= { extremeWirelessIntfFrameSpeedEntry 6 }

extremeWirelessIntfSpeedMgmtTX12 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames transmitted
         on this interface at 12Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 7 }

extremeWirelessIntfSpeedMgmtTX18 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames transmitted
         on this interface at 18Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 8 }

extremeWirelessIntfSpeedMgmtTX24 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames transmitted
         on this interface at 24Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 9 }

extremeWirelessIntfSpeedMgmtTX36 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames transmitted
         on this interface at 36Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 10 }

extremeWirelessIntfSpeedMgmtTX48 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames transmitted
         on this interface at 48Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 11 }

extremeWirelessIntfSpeedMgmtTX54 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames transmitted
         on this interface at 54Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 12 }

extremeWirelessIntfSpeedMgmtRX1 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames recieved
         on this interface at 1Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 13 }

extremeWirelessIntfSpeedMgmtRX2 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames recieved
         on this interface at 2Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 14 }

extremeWirelessIntfSpeedMgmtRX5p5 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames recieved
         on this interface at 5.5Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 15 }

extremeWirelessIntfSpeedMgmtRX6 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames recieved
         on this interface at 6Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 16 }

extremeWirelessIntfSpeedMgmtRX9 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames recieved
         on this interface at 9Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 17 }

extremeWirelessIntfSpeedMgmtRX11 OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
     "This gives the number of management-type frames recieved
     on this interface at 11Mbps."
     ::= { extremeWirelessIntfFrameSpeedEntry 18 }

extremeWirelessIntfSpeedMgmtRX12 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames recieved
         on this interface at 12Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 19 }

extremeWirelessIntfSpeedMgmtRX18 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames recieved
         on this interface at 18Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 20 }

extremeWirelessIntfSpeedMgmtRX24 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames recieved
         on this interface at 24Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 21 }

extremeWirelessIntfSpeedMgmtRX36 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames recieved
         on this interface at 36Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 22 }

extremeWirelessIntfSpeedMgmtRX48 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames recieved
         on this interface at 48Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 23 }

extremeWirelessIntfSpeedMgmtRX54 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of management-type frames recieved
         on this interface at 54Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 24 }

extremeWirelessIntfSpeedCtlTX1 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames transmitted
         on this interface at 1Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 25 }

extremeWirelessIntfSpeedCtlTX2 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames transmitted
         on this interface at 2Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 26 }

extremeWirelessIntfSpeedCtlTX5p5 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames transmitted
         on this interface at 5.5Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 27 }

extremeWirelessIntfSpeedCtlTX6 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames transmitted
         on this interface at 6Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 28 }

extremeWirelessIntfSpeedCtlTX9 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames transmitted
         on this interface at 9Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 29 }

extremeWirelessIntfSpeedCtlTX11 OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
     "This gives the number of control-type frames transmitted
     on this interface at 11Mbps."
     ::= { extremeWirelessIntfFrameSpeedEntry 30 }

extremeWirelessIntfSpeedCtlTX12 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames transmitted
         on this interface at 12Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 31 }

extremeWirelessIntfSpeedCtlTX18 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames transmitted
         on this interface at 18Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 32 }

extremeWirelessIntfSpeedCtlTX24 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames transmitted
         on this interface at 24Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 33 }

extremeWirelessIntfSpeedCtlTX36 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames transmitted
         on this interface at 36Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 34 }

extremeWirelessIntfSpeedCtlTX48 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames transmitted
         on this interface at 48Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 35 }

extremeWirelessIntfSpeedCtlTX54 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames transmitted
         on this interface at 54Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 36 }

extremeWirelessIntfSpeedCtlRX1 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames recieved
         on this interface at 1Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 37 }

extremeWirelessIntfSpeedCtlRX2 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames recieved
         on this interface at 2Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 38 }

extremeWirelessIntfSpeedCtlRX5p5 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames recieved
         on this interface at 5.5Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 39 }

extremeWirelessIntfSpeedCtlRX6 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames recieved
         on this interface at 6Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 40 }

extremeWirelessIntfSpeedCtlRX9 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames recieved
         on this interface at 9Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 41 }

extremeWirelessIntfSpeedCtlRX11 OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
     "This gives the number of control-type frames recieved
     on this interface at 11Mbps."
     ::= { extremeWirelessIntfFrameSpeedEntry 42 }


extremeWirelessIntfSpeedCtlRX12 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames recieved
         on this interface at 12Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 43 }

extremeWirelessIntfSpeedCtlRX18 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames recieved
         on this interface at 18Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 44 }

extremeWirelessIntfSpeedCtlRX24 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames recieved
         on this interface at 24Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 45 }

extremeWirelessIntfSpeedCtlRX36 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames recieved
         on this interface at 36Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 46 }

extremeWirelessIntfSpeedCtlRX48 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames recieved
         on this interface at 48Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 47 }

extremeWirelessIntfSpeedCtlRX54 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of control-type frames recieved
         on this interface at 54Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 48 }

extremeWirelessIntfSpeedDataTX1 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames transmitted
         on this interface at 1Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 49 }

extremeWirelessIntfSpeedDataTX2 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames transmitted
         on this interface at 2Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 50 }

extremeWirelessIntfSpeedDataTX5p5 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames transmitted
         on this interface at 5.5Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 51 }

extremeWirelessIntfSpeedDataTX6 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames transmitted
         on this interface at 6Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 52 }

extremeWirelessIntfSpeedDataTX9 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames transmitted
         on this interface at 9Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 53 }

extremeWirelessIntfSpeedDataTX11 OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
     "This gives the number of data-type frames transmitted
     on this interface at 11Mbps."
     ::= { extremeWirelessIntfFrameSpeedEntry 54 }

extremeWirelessIntfSpeedDataTX12 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames transmitted
         on this interface at 12Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 55 }

extremeWirelessIntfSpeedDataTX18 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames transmitted
         on this interface at 18Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 56 }

extremeWirelessIntfSpeedDataTX24 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames transmitted
         on this interface at 24Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 57 }

extremeWirelessIntfSpeedDataTX36 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames transmitted
         on this interface at 36Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 58 }

extremeWirelessIntfSpeedDataTX48 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames transmitted
         on this interface at 48Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 59 }

extremeWirelessIntfSpeedDataTX54 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames transmitted
         on this interface at 54Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 60 }

extremeWirelessIntfSpeedDataRX1 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames recieved
         on this interface at 1Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 61 }

extremeWirelessIntfSpeedDataRX2 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames recieved
         on this interface at 2Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 62 }

extremeWirelessIntfSpeedDataRX5p5 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames recieved
         on this interface at 5.5Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 63 }

extremeWirelessIntfSpeedDataRX6 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames recieved
         on this interface at 6Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 64 }

extremeWirelessIntfSpeedDataRX9 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames recieved
         on this interface at 9Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 65 }

extremeWirelessIntfSpeedDataRX11 OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
     "This gives the number of data-type frames recieved
     on this interface at 11Mbps."
     ::= { extremeWirelessIntfFrameSpeedEntry 66 }

extremeWirelessIntfSpeedDataRX12 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames recieved
         on this interface at 12Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 67 }

extremeWirelessIntfSpeedDataRX18 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames recieved
         on this interface at 18Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 68 }

extremeWirelessIntfSpeedDataRX24 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames recieved
         on this interface at 24Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 69 }

extremeWirelessIntfSpeedDataRX36 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames recieved
         on this interface at 36Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 70 }

extremeWirelessIntfSpeedDataRX48 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames recieved
         on this interface at 48Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 71 }

extremeWirelessIntfSpeedDataRX54 OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of data-type frames recieved
         on this interface at 54Mbps."
         ::= { extremeWirelessIntfFrameSpeedEntry 72 }

-- *************************************************************** --
-- Error Histograms of retransmission by frame speed.              --
-- *************************************************************** --
extremeWirelessIntfFrameSpeedErrorTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessIntfFrameSpeedErrorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "There is one entry in this table for each virtual and
         physical interface.  Values for physical interfaces are
         summations of the values for the constituent virtual 
         interfaces."
         ::= { extremeAP 42 }

extremeWirelessIntfFrameSpeedErrorEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessIntfFrameSpeedErrorEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex }
         ::= { extremeWirelessIntfFrameSpeedErrorTable 1 }

ExtremeWirelessIntfFrameSpeedErrorEntry ::= SEQUENCE {
        extremeWirelessIntfSpeedReXmit1         Unsigned32,
        extremeWirelessIntfSpeedReXmit2         Unsigned32,
        extremeWirelessIntfSpeedReXmit5p5       Unsigned32,
        extremeWirelessIntfSpeedReXmit6         Unsigned32,
        extremeWirelessIntfSpeedReXmit9         Unsigned32,
    extremeWirelessIntfSpeedReXmit11    Unsigned32,
        extremeWirelessIntfSpeedReXmit12        Unsigned32,
        extremeWirelessIntfSpeedReXmit18        Unsigned32,
        extremeWirelessIntfSpeedReXmit24        Unsigned32,
        extremeWirelessIntfSpeedReXmit36        Unsigned32,
        extremeWirelessIntfSpeedReXmit48        Unsigned32,
        extremeWirelessIntfSpeedReXmit54        Unsigned32,
    extremeWirelessIntfSpeedErrorTX1    Unsigned32,
    extremeWirelessIntfSpeedErrorTX2    Unsigned32,
    extremeWirelessIntfSpeedErrorTX5p5  Unsigned32,
    extremeWirelessIntfSpeedErrorTX6    Unsigned32,
    extremeWirelessIntfSpeedErrorTX9    Unsigned32,
    extremeWirelessIntfSpeedErrorTX11   Unsigned32,
    extremeWirelessIntfSpeedErrorTX12   Unsigned32,
    extremeWirelessIntfSpeedErrorTX18   Unsigned32,
    extremeWirelessIntfSpeedErrorTX24   Unsigned32,
    extremeWirelessIntfSpeedErrorTX36   Unsigned32,
    extremeWirelessIntfSpeedErrorTX48   Unsigned32,
    extremeWirelessIntfSpeedErrorTX54   Unsigned32,
        extremeWirelessIntfSpeedErrorRX1        Unsigned32,
        extremeWirelessIntfSpeedErrorRX2        Unsigned32,
        extremeWirelessIntfSpeedErrorRX5p5      Unsigned32,
        extremeWirelessIntfSpeedErrorRX6        Unsigned32,
        extremeWirelessIntfSpeedErrorRX9        Unsigned32,
    extremeWirelessIntfSpeedErrorRX11   Unsigned32,
        extremeWirelessIntfSpeedErrorRX12       Unsigned32,
        extremeWirelessIntfSpeedErrorRX18       Unsigned32,
        extremeWirelessIntfSpeedErrorRX24       Unsigned32,
        extremeWirelessIntfSpeedErrorRX36       Unsigned32,
        extremeWirelessIntfSpeedErrorRX48       Unsigned32,
        extremeWirelessIntfSpeedErrorRX54       Unsigned32 }

extremeWirelessIntfSpeedReXmit1 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were retransmitted on
         this interface at 1 Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 1 }

extremeWirelessIntfSpeedReXmit2 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were retransmitted on
         this interface at 2 Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 2 }

extremeWirelessIntfSpeedReXmit5p5 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were retransmitted on
         this interface at 5 Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 3 }

extremeWirelessIntfSpeedReXmit6 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were retransmitted on
         this interface at 6 Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 4 }

extremeWirelessIntfSpeedReXmit9 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were retransmitted on
         this interface at 9 Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 5 }

extremeWirelessIntfSpeedReXmit11 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were retransmitted on
    this interface at 11 Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 6 }

extremeWirelessIntfSpeedReXmit12 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were retransmitted on
         this interface at 12 Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 7 }

extremeWirelessIntfSpeedReXmit18 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were retransmitted on
         this interface at 18 Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 8 }

extremeWirelessIntfSpeedReXmit24 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were retransmitted on
         this interface at 24 Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 9 }
        
extremeWirelessIntfSpeedReXmit36 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were retransmitted on
         this interface at 36 Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 10 }

extremeWirelessIntfSpeedReXmit48 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were retransmitted on
         this interface at 48 Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 11 }

extremeWirelessIntfSpeedReXmit54 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were retransmitted on
         this interface at 54 Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 12 }

extremeWirelessIntfSpeedErrorTX1 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 1Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 13 }

extremeWirelessIntfSpeedErrorTX2 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 2Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 14 }

extremeWirelessIntfSpeedErrorTX5p5 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 5.5Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 15 }

extremeWirelessIntfSpeedErrorTX6 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 6Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 16 }

extremeWirelessIntfSpeedErrorTX9 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 9Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 17 }

extremeWirelessIntfSpeedErrorTX11 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 11Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 18 }

extremeWirelessIntfSpeedErrorTX12 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 12Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 19 }

extremeWirelessIntfSpeedErrorTX18 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 18Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 20 }

extremeWirelessIntfSpeedErrorTX24 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 24Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 21 }

extremeWirelessIntfSpeedErrorTX36 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 36Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 22 }

extremeWirelessIntfSpeedErrorTX48 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 48Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 23 }

extremeWirelessIntfSpeedErrorTX54 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 54Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 24 }

extremeWirelessIntfSpeedErrorRX1 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were received with errors
         on this interface at 1Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 25 }

extremeWirelessIntfSpeedErrorRX2 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were received with errors
         on this interface at 2Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 26 }

extremeWirelessIntfSpeedErrorRX5p5 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were received with errors
         on this interface at 5.5Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 27 }

extremeWirelessIntfSpeedErrorRX6 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were received with errors
         on this interface at 6Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 28 }

extremeWirelessIntfSpeedErrorRX9 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were received with errors
         on this interface at 9Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 29 }

extremeWirelessIntfSpeedErrorRX11 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were received with errors
    on this interface at 11Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 30 }

extremeWirelessIntfSpeedErrorRX12 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were received with errors
         on this interface at 12Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 31 }

extremeWirelessIntfSpeedErrorRX18 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were received with errors
         on this interface at 18Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 32 }

extremeWirelessIntfSpeedErrorRX24 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were received with errors
         on this interface at 24Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 33 }

extremeWirelessIntfSpeedErrorRX36 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were received with errors
         on this interface at 36Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 34 }

extremeWirelessIntfSpeedErrorRX48 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were received with errors
         on this interface at 48Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 35 }

extremeWirelessIntfSpeedErrorRX54 OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the number of frames which were received with errors
         on this interface at 54Mbps."
        ::= { extremeWirelessIntfFrameSpeedErrorEntry 36 }

-- *************************************************************** --
-- Interface utilization/noise.                                    --
-- *************************************************************** --
extremeWirelessIntfUtilizationTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessIntfUtilizationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "There is one entry in this table for each virtual and
         physical interface.  Values for physical interfaces are
         summations of the values for the constituent virtual 
         interfaces."
         ::= { extremeAP 43 }

extremeWirelessIntfUtilizationEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessIntfUtilizationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex }
         ::= { extremeWirelessIntfUtilizationTable 1 }

ExtremeWirelessIntfUtilizationEntry ::= SEQUENCE {
        extremeWirelessIntfUtilizationNav                Unsigned32,
        extremeWirelessIntfUtilizationNoiseFloor         Unsigned32 }

extremeWirelessIntfUtilizationNav OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the instantaneous NAV value on this interface, or
         some increasing-metric of utilization."
        ::= { extremeWirelessIntfUtilizationEntry 1 }

extremeWirelessIntfUtilizationNoiseFloor OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the noise floor in dBm for this interface."
        ::= { extremeWirelessIntfUtilizationEntry 2 }

-- *************************************************************** --
-- Opaque client MIBs. These mibs are provided as a performance    --
-- gain for the LAC management of the switch.                      --
--                                                                 --
-- Some of the items in this table are encoded as a series of TLVs.--
-- In this case, they are encoded as:                              --
--                                                                 --
--   | Type (8 bits) | length (8 bits) | value (variable) |        --
--                                                                 --
-- type - equal to the index field of the element                  --
--        in the table this value corresponds to.                  --
--                                                                 --
-- length - equal to the length in bytes of the value              --
--                                                                 --
-- value -  this is the value.  Integer value are NBO,             --
--          strings are non-null terminated ASCII.                 --
--                                                                 --
-- *************************************************************** --
extremeWirelessOpaqueTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeWirelessOpaqueEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                " "
        ::= { extremeAP 99 }

extremeWirelessOpaqueEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessOpaqueEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                " "
        INDEX { ifIndex }
        ::= { extremeWirelessOpaqueTable 1 }

ExtremeWirelessOpaqueEntry ::= SEQUENCE {
        extremeWirelessClientData               OCTET STRING,
        extremeWirelessPAEStatsData             OCTET STRING,
        extremeWirelessPAEDiagData              OCTET STRING,
        extremeWirelessScanResultsData          OCTET STRING,
        extremeWirelessProbeInfoData            OCTET STRING,
        extremeWirelessClientDiagData           OCTET STRING,
        extremeWirelessClientAssocData          OCTET STRING,
        extremeWirelessClientAuthData           OCTET STRING,
        extremeWirelessClientMACInfoData        OCTET STRING,
        extremeWirelessSizeCounterData          OCTET STRING,
        extremeWirelessSpeedCounterData         OCTET STRING }

extremeWirelessClientData OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        ""
        ::= { extremeWirelessOpaqueEntry 1 }    

extremeWirelessPAEStatsData OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        ""
        ::= { extremeWirelessOpaqueEntry 2 }    

extremeWirelessPAEDiagData OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        ""
        ::= { extremeWirelessOpaqueEntry 3 }

extremeWirelessScanResultsData OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This is the contents of the scan results table encoded
         as a series of TLVs."
        ::= { extremeWirelessOpaqueEntry 4 }

extremeWirelessProbeInfoData OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This is the contents of the probe info table encoded 
         as a series of TLVs.    Each item is encoded as the
         entry above."
        ::= { extremeWirelessOpaqueEntry 5 }

extremeWirelessClientDiagData OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This is the contents of the client diag table encoded 
         as a series of TLVs.    Each item is encoded as the
         entry above."
        ::= { extremeWirelessOpaqueEntry 6 }

extremeWirelessClientAssocData OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This is the contents of the client assoc table encoded 
         as a series of TLVs.    Each item is encoded as the
         entry above.  Note that since the MAC address is not a
         member of the table (it is an index) it will be encoded
         as type = 0."
        ::= { extremeWirelessOpaqueEntry 7 }

extremeWirelessClientAuthData OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This is the contents of the client auth table encoded 
         as a series of TLVs.    Each item is encoded as the
         entry above.  Note that since the MAC address is not a
         member of the table (it is an index) it will be encoded
         as type = 0."
        ::= { extremeWirelessOpaqueEntry 8 }

extremeWirelessClientMACInfoData OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This is the contents of the client MAC info table 
         encoded as a series of TLVs.    Each item is encoded 
         as the entry above.  Note that since the MAC address 
         is not a member of the table (it is an index) it will 
         be encoded as type = 0."
        ::= { extremeWirelessOpaqueEntry 9 }

extremeWirelessSizeCounterData OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This is the contents of the client size counter table
         encoded as a series of TLVs.    Each item is encoded 
         as the entry above.  Note that since the MAC address 
         is not a member of the table (it is an index) it will 
         be encoded as type = 0."
        ::= { extremeWirelessOpaqueEntry 10 }

extremeWirelessSpeedCounterData OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This is the contents of the client speed counter table
         encoded as a series of TLVs.    Each item is encoded 
         as the entry above.  Note that since the MAC address 
         is not a member of the table (it is an index) it will 
         be encoded as type = 0."
        ::= { extremeWirelessOpaqueEntry 11 }

-- *************************************************************** --
-- TRACE MIBS                                                      --
--                                                                 --
-- These mibs are provided on a per-wireless port basis to support --
-- configurable tracing.  Each subsystem associated with a         --
-- wireless port has an entry in the trace module table.  These    --
-- entries allow for configuration of the current trace level.     --
-- statistics on each modules tracing output are also kept.  At    --
-- a global level several statistics are available from the trace  --
-- table.                                                          --
-- *************************************************************** --
extremeWirelessTraceTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessTraceTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
         "This table contains one entry per wireless port.  This
          allows access to various stastics about the tracing mod  --
          ule on that wireless port."
        ::= { extremeAP 100 }

extremeWirelessTraceEntry OBJECT-TYPE
        SYNTAX          ExtremeWirelessTraceTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex }
        ::= { extremeWirelessTraceTable 1 }

ExtremeWirelessTraceTableEntry ::= SEQUENCE {
        extremeWirelessTraceMsgsOut     INTEGER,
        extremeWirelessTraceBytesOut    INTEGER,
        extremeWirelessTraceSuppressed  INTEGER,
        extremeWirelessTraceOtherErr    INTEGER,
        extremeWirelessTraceOpaque      OCTET STRING }

extremeWirelessTraceMsgsOut OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This gives the number of trace messages the system has
         sent out to the syslog server.  Suppressed messages are
         not counted toward this total."
        ::= { extremeWirelessTraceEntry 1 }

extremeWirelessTraceBytesOut OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This give the number of bytes total sent out by the
         trace system.  This is a simple sum of the string
         lengths of all messages sent out."
        ::= { extremeWirelessTraceEntry 2 }

extremeWirelessTraceSuppressed OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This variable is incremented whenever a message is
         not sent out because the trace level of that system
         is lower than the message level."
        ::= { extremeWirelessTraceEntry 3 }

extremeWirelessTraceOtherErr OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This variable is incremented when a message is not 
         sent out due to internal errors (i.e. out of memory)."
        ::= { extremeWirelessTraceEntry 4 }

extremeWirelessTraceOpaque OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "This is the opaque representation of the module table
         to optimize retreival."
        ::= { extremeWirelessTraceEntry 5 }

extremeWirelessTraceModuleTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessTraceModuleEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
         "This table contains one entry per trace module.  Each entry
          is indexed by an arbitrary integer value."
        ::= { extremeAP 101 }

extremeWirelessTraceModuleEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessTraceModuleEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        ""
        INDEX { ifIndex, extremeWirelessTraceModuleId }
        ::= { extremeWirelessTraceModuleTable 1 }

ExtremeWirelessTraceModuleEntry ::= SEQUENCE {
        extremeWirelessTraceModuleId         INTEGER,
        extremeWirelessTraceModuleDesc       DisplayString,
        extremeWirelessTraceModuleHeader     DisplayString,
        extremeWirelessTraceModuleLevel      INTEGER,
        extremeWirelessTraceModuleSuppressed INTEGER,
        extremeWirelessTraceModuleMsgsOut    INTEGER,
        extremeWirelessTraceModuleBytesOut   INTEGER }

extremeWirelessTraceModuleId         OBJECT-TYPE
        SYNTAX  INTEGER(0..65535)
        MAX-ACCESS not-accessible
        STATUS  current
        DESCRIPTION
        "This is an arbitrary integer index which is assigned to each
         trace module."
        ::= { extremeWirelessTraceModuleEntry 1 }

extremeWirelessTraceModuleDesc       OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION
        "This is a string which briefly describes the purpose of this
         debug trace.  It may include whitespace.  An example is:
                802.1x State Machine"
        ::= { extremeWirelessTraceModuleEntry 2 }

extremeWirelessTraceModuleHeader     OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION
        "This is a string which is prepended to the syslog messages
         sent out by this debug level.  It is short (5-6 characters) 
         and does not contain white space. (i.e. DOT1X)"
        ::= { extremeWirelessTraceModuleEntry 3 }

extremeWirelessTraceModuleLevel     OBJECT-TYPE
        SYNTAX  INTEGER(0..5)
        MAX-ACCESS read-write
        STATUS  current
        DESCRIPTION
        "This value is the current debug level for this module.  A
         lower value indicates that fewer messages will be generated
         by the component.  A write on this value will update the
         current debug level."
        ::= { extremeWirelessTraceModuleEntry 4 }

extremeWirelessTraceModuleSuppressed     OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION
        "This value indicates the number of messages logged by
         this module which have not been sent out because the
         current log level is less than the level at which the
         message should be logged."
        ::= { extremeWirelessTraceModuleEntry 5 }

extremeWirelessTraceModuleMsgsOut     OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION
        "This value indicates the number messages which have
         been logged by this component."
        ::= { extremeWirelessTraceModuleEntry 6 }

extremeWirelessTraceModuleBytesOut     OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION
        "This value indicates the number of bytes which have
         been logged by this component.  This count includes 
         the header specified in extremeWirelessTraceModuleHeader."
        ::= { extremeWirelessTraceModuleEntry 7 }

-- *************************************************************** --
--                    Log Diagnostic Counters                      --
--                                                                 --
-- The logging subsystem uses the following division : the event   --
-- logging system recieves all messages.  These message are then   --
-- passed to the syslog facility for remote logging, and then msgs --
-- may be stored in the NVRAM in the case where the log level is   --
-- greater than the log threshold.                                 --
-- *************************************************************** --
extremeWirelessLogDiagTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessLogDiagEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains counters per-log level for the event log,
         syslog and NVRAM subsystems for logging."
        ::= { extremeAP 102 }

extremeWirelessLogDiagEntry OBJECT-TYPE
        SYNTAX  ExtremeWirelessLogDiagEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "There is one entry in this table per physical port."
        INDEX { ifIndex }
        ::= { extremeWirelessLogDiagTable 1 }

ExtremeWirelessLogDiagEntry ::= SEQUENCE {
        extremeWirelessLogDiagEventLogTotalCount Unsigned32,
        extremeWirelessLogDiagEventLogTotalEmergCount Unsigned32,
        extremeWirelessLogDiagEventLogTotalAlertCount Unsigned32,
        extremeWirelessLogDiagEventLogTotalCritCount Unsigned32,
        extremeWirelessLogDiagEventLogTotalErrorCount Unsigned32,
        extremeWirelessLogDiagEventLogTotalWarnCount Unsigned32,
        extremeWirelessLogDiagEventLogTotalNoticeCount Unsigned32,
        extremeWirelessLogDiagEventLogTotalInfoCount Unsigned32,
        extremeWirelessLogDiagEventLogTotalDebugCount Unsigned32,
        extremeWirelessLogDiagEventLogTotalSuppressedCount Unsigned32,
        extremeWirelessLogDiagEventLogTotalByteCount Unsigned32,
        extremeWirelessLogDiagSyslogTotalEventCount Unsigned32,
        extremeWirelessLogDiagSyslogTotalSuppressedCount Unsigned32,
        extremeWirelessLogDiagSyslogTotalByteCount Unsigned32,
        extremeWirelessLogDiagNVRAMTotalEventCount Unsigned32,
        extremeWirelessLogDiagNVRAMTotalSuppressedCount Unsigned32,
        extremeWirelessLogDiagNVRAMTotalDroppedCount Unsigned32,
        extremeWirelessLogDiagNVRAMTotalByteCount Unsigned32,
        extremeWirelessLogDiagClearStats TruthValue }

extremeWirelessLogDiagEventLogTotalCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of messages logged since the
         last time the statistics were cleared."
        ::= { extremeWirelessLogDiagEntry 1 }

extremeWirelessLogDiagEventLogTotalEmergCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of messages logged at the EMERG
         level."
        ::= { extremeWirelessLogDiagEntry 2 }

extremeWirelessLogDiagEventLogTotalAlertCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of messages logged at the ALERT
         level."
        ::= { extremeWirelessLogDiagEntry 3 }

extremeWirelessLogDiagEventLogTotalCritCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of messages logged at the CRIT
         level."
        ::= { extremeWirelessLogDiagEntry 4 }

extremeWirelessLogDiagEventLogTotalErrorCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of messages logged at the ERROR
         level."
        ::= { extremeWirelessLogDiagEntry 5 }

extremeWirelessLogDiagEventLogTotalWarnCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of messages logged at the WARN
         level."
        ::= { extremeWirelessLogDiagEntry 6 }

extremeWirelessLogDiagEventLogTotalNoticeCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of messages logged at the NOTICE
         level."
        ::= { extremeWirelessLogDiagEntry 7 }

extremeWirelessLogDiagEventLogTotalInfoCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of messages logged at the INFO
         level."
        ::= { extremeWirelessLogDiagEntry 8 }

extremeWirelessLogDiagEventLogTotalDebugCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of messages logged at the DEBUG
         level."
        ::= { extremeWirelessLogDiagEntry 9 }

extremeWirelessLogDiagEventLogTotalSuppressedCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of messages which were suppressed
         due to log level."
        ::= { extremeWirelessLogDiagEntry 10 }

extremeWirelessLogDiagEventLogTotalByteCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of bytes logged by the logging
         subsystem."
        ::= { extremeWirelessLogDiagEntry 11 }

extremeWirelessLogDiagSyslogTotalEventCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of messages which have been sent
         out to remote syslog servers."
        ::= { extremeWirelessLogDiagEntry 12 }

extremeWirelessLogDiagSyslogTotalSuppressedCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of syslog messages which have been 
         suppressed due to log level."
        ::= { extremeWirelessLogDiagEntry 13 }

extremeWirelessLogDiagSyslogTotalByteCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This gives the total number of bytes of syslog messages which have
         been logged."
        ::= { extremeWirelessLogDiagEntry 14 }

extremeWirelessLogDiagNVRAMTotalEventCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Total number of messages which have been logged to NVRAM."
        ::= { extremeWirelessLogDiagEntry 15 }

extremeWirelessLogDiagNVRAMTotalSuppressedCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Total number of messages which have been suppressed by NVRAM
         due to NVRAM threashold."
        ::= { extremeWirelessLogDiagEntry 16 }

extremeWirelessLogDiagNVRAMTotalDroppedCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Total number of messages which have been dropped by the 
         NVRAM."
        ::= { extremeWirelessLogDiagEntry 17 }

extremeWirelessLogDiagNVRAMTotalByteCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Total number of bytes which have been written to the NVRAM."
        ::= { extremeWirelessLogDiagEntry 18 }

extremeWirelessLogDiagClearStats OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Setting this value to TRUE causes the statistics to be reset to
         0.  Reading this value has no meaning."
        ::= { extremeWirelessLogDiagEntry 19 }

-- *************************************************************** --
--                           TRAPS                                 --
--                                                                 --
-- NOTE: We define client Authentication and association traps but --
--       performance may dictate that this not be done.  In that   --
--       case we have already provided the Authentication and      --
--       association totals which can be watched from RMON.        --
--                                                                 --
-- NOTE: The MAP State Change trap is not sent when the MAP is     --
--       first discovered.  The first trap is sent by EDP.         --
-- *************************************************************** --
extremeWirelessPortStateChange NOTIFICATION-TYPE
        OBJECTS { ifIndex,
                  extremeWirelessPortState }
        STATUS current
        DESCRIPTION
                "This trap is generated when a wireless port moves 
                 into enabled, disabled or online."
        ::= { extremeAPTrapsPrefix 1 }

extremeWirelessPortBootFailure NOTIFICATION-TYPE
       OBJECTS { extremeWirelessPortIfIndex }
       STATUS current
       DESCRIPTION
               "This trap is sent by the platform if a wireless 
                port fails to boot too many times."
       ::= { extremeAPTrapsPrefix 2 }

extremeWirelessClientStationAgedOut NOTIFICATION-TYPE
       OBJECTS { ifIndex, extremeWirelessClientID }
       STATUS current
       DESCRIPTION
               "This trap is generated when a client is aged out 
                of the table."
       ::= { extremeAPTrapsPrefix 3 }

extremeWirelessNetloginClientAssociated NOTIFICATION-TYPE
       OBJECTS { ifIndex, extremeWirelessClientID }
       STATUS current
       DESCRIPTION
               "This trap is generated when a client has associated 
                to an interface that is web based network login 
                enabled."
       ::= { extremeAPTrapsPrefix 4 }

extremeWirelessAPAdded NOTIFICATION-TYPE
       OBJECTS { ifIndex, 
                 extremeWirelessScanResultsStationId,
                 extremeWirelessScanResultsFirstSeen,
                 extremeWirelessScanResultsLastChange,
                 extremeWirelessScanResultsPacketRate,
                 extremeWirelessScanResultsChannel,
                 extremeWirelessScanResultsAvgRSS,
                 extremeWirelessScanResultsSSID,
                 extremeWirelessScanResultsRSNEnabled,
                 extremeWirelessScanResultsPrivacy,
                 extremeWirelessScanResultsNetworkType,
                 extremeWirelessScanWPAIEMcastCipher,
                 extremeWirelessScanWPAUcastCipherCount,
                 extremeWirelessScanWPAUcastCipher,
                 extremeWirelessScanWPAKeyMgmtCount,
                 extremeWirelessScanWPAKeyMgmtSuite,
         extremeWirelessScanResultsRateSet,      
         extremeWirelessScanResultsExtRateSet }
       STATUS current
       DESCRIPTION
               "This is generated when a new AP is added to the
                scan results table.  It will ony be generated if
                the value of extremeWirelessScanSendAPAddedTrap
                is true."
       ::= { extremeAPTrapsPrefix 5 }

extremeWirelessAPRemoved NOTIFICATION-TYPE
       OBJECTS { ifIndex, extremeWirelessScanResultsStationId }
       STATUS current
       DESCRIPTION
               "This is generated when an AP is removed from the
                scan results table.  It will ony be generated if
                the value of extremeWirelessScanSendAPRemovedTrap
                is true."
       ::= { extremeAPTrapsPrefix 6 }

extremeWirelessAPUpdated NOTIFICATION-TYPE
       OBJECTS { ifIndex, 
                 extremeWirelessScanResultsStationId,
                 extremeWirelessScanResultsFirstSeen,
                 extremeWirelessScanResultsLastChange,
                 extremeWirelessScanResultsPacketRate,
                 extremeWirelessScanResultsChannel,
                 extremeWirelessScanResultsAvgRSS,
                 extremeWirelessScanResultsSSID,
                 extremeWirelessScanResultsRSNEnabled,
                 extremeWirelessScanResultsPrivacy,
                 extremeWirelessScanResultsNetworkType,
                 extremeWirelessScanWPAIEMcastCipher,
                 extremeWirelessScanWPAUcastCipherCount,
                 extremeWirelessScanWPAUcastCipher,
                 extremeWirelessScanWPAKeyMgmtCount,
                 extremeWirelessScanWPAKeyMgmtSuite,
         extremeWirelessScanResultsRateSet,
         extremeWirelessScanResultsExtRateSet }
       STATUS current
       DESCRIPTION
               "This is generated when the IEs recorded for an AP
                in the scan results table change.  It will only be
                generated if the value of SendAPUpdatedTrap is true."
       ::= { extremeAPTrapsPrefix 7 }

extremeWirelessProbeInfoAdded NOTIFICATION-TYPE
       OBJECTS { ifIndex, extremeWirelessProbeInfoSource }
       STATUS current
       DESCRIPTION
               "This is generated when a new station is added to the
                probe info table.  It will only be generated if the 
                value of extremeWirelessProbeInfoSendAddedTrap is true."
       ::= { extremeAPTrapsPrefix 8 }

extremeWirelessProbeInfoRemoved NOTIFICATION-TYPE
       OBJECTS { ifIndex, extremeWirelessProbeInfoSource }
       STATUS current
       DESCRIPTION
               "This is generated when a station is removed from the
                probe info table.  It will only be generated if the 
                value of extremeWirelessProbeInfoSendRemovedTrap is 
                true."
       ::= { extremeAPTrapsPrefix 9 }

extremeWirelessOffChannelScanStarted NOTIFICATION-TYPE
        OBJECTS { ifIndex, extremeWirelessOffChannelScanList }
        STATUS current
        DESCRIPTION
                "This is generated when an off-channel scan starts
                 running."
        ::= { extremeAPTrapsPrefix 10 }

extremeWirelessOffChannelScanFinished NOTIFICATION-TYPE
        OBJECTS { ifIndex, extremeWirelessOffChannelScanList }
        STATUS current
        DESCRIPTION
                "This is generated when an off-channel scan finishes
                 running."
        ::= { extremeAPTrapsPrefix 11 }

extremeWirelessCounterMeasureStarted NOTIFICATION-TYPE
        OBJECTS { ifIndex, extremeWirelessCounterMeasureSource }
        STATUS current
        DESCRIPTION
        "This trap is generated when counter measures are started
        on a wireless interface."
        ::= { extremeAPTrapsPrefix 12 }

extremeWirelessCounterMeasureStopped NOTIFICATION-TYPE
        OBJECTS { ifIndex }
        STATUS current
        DESCRIPTION
        "This trap is generated when counter measures are stopped
        on a wireless interface."
        ::= { extremeAPTrapsPrefix 13 }

--DFS related
extremeWirelessInterfaceChannelRescan NOTIFICATION-TYPE
        OBJECTS { ifIndex,
                  extremeWirelessPhysInterfacePHYChannel,
                  extremeWirelessPhysInterfaceChannelAutoSelectStatus
            }
        STATUS current
        DESCRIPTION
                "This trap is generated when a wireless interface tries to
autoselect a channel. It indicates whether a particular channel scan was
successful, or if it failed then the reason for the failure."
        ::= { extremeAPTrapsPrefix 14 }

        --
        -- TODO: Should we move this somewhere else?
        --
extremeWirelessCounterMeasureSource OBJECT-TYPE
        SYNTAX INTEGER { clientReport(1),
            micFailure(2) }
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
            "This value is used in the counter measure traps to indicate the
            reason that counter measures have been invoked."
            ::= { extremeAP 44 }

extremeWirelessClientWPAStatsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeWirelessClientWPAStatsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This table contains information of the WPA state transitions
        on a per-client basis.  Rows are indexed first by virtual
        interface, then by client MAC."
         ::= { extremeAP 47 }

extremeWirelessClientWPAStatsEntry OBJECT-TYPE
        SYNTAX ExtremeWirelessClientWPAStatsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "Note that ifIndex here is virtual ifIndex (SSID)."
        INDEX { ifIndex, extremeWirelessClientDiagMac }
         ::= { extremeWirelessClientWPAStatsTable 1 }

ExtremeWirelessClientWPAStatsEntry ::= SEQUENCE {
        extremeWirelessClientWPAStatsStarts     Counter32,
        extremeWirelessClientWPAStatsPairwiseKeySuccesses       Counter32,
        extremeWirelessClientWPAStatsPairwiseKeyFailures        Counter32,
        extremeWirelessClientWPAStatsGroupKeySuccesses          Counter32,
        extremeWirelessClientWPAStatsGroupKeyFailures           Counter32,
        extremeWirelessClientWPAStatsPairwiseKey1Sends          Counter32,
        extremeWirelessClientWPAStatsPairwiseKey3Sends          Counter32,
        extremeWirelessClientWPAStatsGroupKeySends                      Counter32,
        extremeWirelessClientWPAStatsEAPOLKeyReceivedInPairwise1Key     Counter32,
        extremeWirelessClientWPAStatsEAPOLKeyReceivedInPairwise3Key     Counter32,
        extremeWirelessClientWPAStatsEAPOLKeyReceivedInGroupKey         Counter32,
        extremeWirelessClientWPAStatsDoubleEAPOLKeyReceived             Counter32,
        extremeWirelessClientWPAStatsEAPOLKeyIgnores                    Counter32,
        extremeWirelessClientWPAStatsEAPOLKeyErrors                     Counter32,
        extremeWirelessClientWPAStatsEAPOLKeyAborts                     Counter32,
        extremeWirelessClientWPAStatsEAPOLKeyVerificationSuccesses      Counter32
}
extremeWirelessClientWPAStatsStarts OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of starts of the WPA key exchange process"
         ::= { extremeWirelessClientWPAStatsEntry 1 }

extremeWirelessClientWPAStatsPairwiseKeySuccesses OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of successes in the pairwise key handshake"
         ::= { extremeWirelessClientWPAStatsEntry 2 }

extremeWirelessClientWPAStatsPairwiseKeyFailures OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of failures the pairwise key handshake"
         ::= { extremeWirelessClientWPAStatsEntry 3 }

extremeWirelessClientWPAStatsGroupKeySuccesses OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of successes of the group key exchange"
         ::= { extremeWirelessClientWPAStatsEntry 4 }

extremeWirelessClientWPAStatsGroupKeyFailures OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of failures of the group key handshake"
         ::= { extremeWirelessClientWPAStatsEntry 5 }

extremeWirelessClientWPAStatsPairwiseKey1Sends OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of times the first packet of the pairwise key exchange was sent."
         ::= { extremeWirelessClientWPAStatsEntry 6 }

extremeWirelessClientWPAStatsPairwiseKey3Sends OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of times the third packet of the pairwise key exchange was sent."
         ::= { extremeWirelessClientWPAStatsEntry 7 }

extremeWirelessClientWPAStatsGroupKeySends OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of times the group key packet was sent."
         ::= { extremeWirelessClientWPAStatsEntry 8 }

extremeWirelessClientWPAStatsEAPOLKeyReceivedInPairwise1Key OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of times an EAPOL Key packet was recieved after
        sending the 1st pairwise key exchange packet"
         ::= { extremeWirelessClientWPAStatsEntry 9 }

extremeWirelessClientWPAStatsEAPOLKeyReceivedInPairwise3Key OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of times an EAPOL Key packet was recieved after
        sending the 3rd pairwise key exchange packet"
         ::= { extremeWirelessClientWPAStatsEntry 10 }

extremeWirelessClientWPAStatsEAPOLKeyReceivedInGroupKey OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of times an EAPOL Key packet was recieved after
        sending the group key packet"
         ::= { extremeWirelessClientWPAStatsEntry 11 }

extremeWirelessClientWPAStatsDoubleEAPOLKeyReceived OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of times an EAPOL Key packet was recieved when already
        processing a previous key packet."
         ::= { extremeWirelessClientWPAStatsEntry 12 }

extremeWirelessClientWPAStatsEAPOLKeyIgnores OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of times an EAPOL Key packet was ignored."
         ::= { extremeWirelessClientWPAStatsEntry 13 }

extremeWirelessClientWPAStatsEAPOLKeyErrors OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of times an EAPOL Key packet was errored."
         ::= { extremeWirelessClientWPAStatsEntry 14 }

extremeWirelessClientWPAStatsEAPOLKeyAborts OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of times an EAPOL Key packet caused the WPA state machine to abort."
         ::= { extremeWirelessClientWPAStatsEntry 15 }

extremeWirelessClientWPAStatsEAPOLKeyVerificationSuccesses OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "Number of times an EAPOL Key packet was verified correctly."
         ::= { extremeWirelessClientWPAStatsEntry 16 }

END

-- ################################################################################

-- ======================================================================
--      CHANGE LOG
--      6/5/97 - jscano
--      1. Added Revision 1-0-1 to MIB for tracking purposes
--      2. Combined the encaps.mib into the original vlan.mib
--      3. Updated preamble comments to accomodate both vlan and encaps xfaces
--         and added general clarifying comments to MIB.
--
--      10/20/96 - jscano
--      1.      Added vlanSesionLayer type to vlan interface.
--      2.      Added vlanNetBeui type to vlan interface.

--      6/5/97 - Paola Biti
--              1.      No change Official MIB implemented on Switch 9000
--      6/9/97 - Paola Biti
--              1. Received new MIB from John Scano.  New Official MIB for Switch 9000

-- ======================================================================
--
--      Interpretation of the Interface Table for VLAN and encapsulation
--      interfaces:
-- 
--      OBJECT  VALUE/USE
--
--      ifIndex Same interpretation as RFC1573.  A unique value,
--                      greater than zero for each VLAN/Encapsulation interface.
--
--      ifDescr Same interpretation as RFC1573.  A textual string
--                      containing information about the interface.  This
--                      string should include the name of the manufacturer,
--                      the product name, the version of the software, and that
--                      the entry is a vlan or encapsulation interface.
--
--                      Example: "3COM LANPlex 2500, version 8.1, VLAN"
--                      Example: "3COM LANPlex 2500, version 8.1, ENCAPS"
--
--      ifType  propVirtual(53)
--
--      ifMtu           Equivalent to the least common denominator MTU of the
--                      set of ports associated with the VLAN or ENCAPS interface.
--                      For example, if the VLAN contains one ethernet port, then
--                      the value of this object is 1518.  If the VLAN contains
--                      all FDDI ports, the value of this object is 4500.  If
--                      a vlan contains a mix of ethernet and FDDI ports, the
--                      value of this object is 1518.  If there are no ports associated
--                      with the interface, then the ifMtu is zero.
--
--      ifSpeed         The value of this object is zero, as defined by RFC1573
--                      for sub-layers that have no concept of bandwidth.             
--
--      ifPhysAddress   The value of this object is always equal to a null octet
--                      string.
--
--      ifAdminStatus   Always equal to up(1).  SetRequest-PDUs fail.
--
--      ifOperStatus    The value of this object is equal to up(1) if the
--                      ifOperStatus of at least one port in in the set of ports
--                      stacked below the VLAN layer is up(1).  The value of this 
--                      object is down(2) if the ifOperStatus of all ports stacked
--                      below the vlan layer is down(2).  The value of this
--                      object is down(2) if there are no ports stacked below the
--                      the vlan sublayer.
--
--      ifLastChange    Same interpretation as RFC1573.  The value of sysUpTime
--                      at the time the interface entered its current operational
--                      state.  If the current state was entered prior to the 
--                      last re-initialization of the local network management
--                      subsystem, then this object contains a zero value.
--       
--      ifInOctets      These objects  return NO_SUCH_NAME on reads and writes. 
--      ifInUcastPkts   This approach is more desireable than returning zero
--      ifInNUcastPkt   on reads because NMS's cannot differentiate between
--      ifInDiscards    returning a zero for non-support vs returning a real
--      ifInErrors      zero value for the counter.  Inability to distinguish
--      ifInUnknownProtos between these two cases would essentially prevent
--      ifOutOctets     future implementation of these objects, therefore
--      ifOutUcastPkts  NO_SUCH_NAME is returned to indicate no-support.
--      ifOutNUcastPkts Future implementations may choose to return real values
--      ifOutDiscards   for these counters.
--      ifOutDiscards                           "
--      ifOutErrors                             "
--      ifLinkUpDownTrapEnable                  "
--      ifConnectorPresent                      "
--      ifHighSpeed                             "
--      ifName                                  "
--
--      ifOutQLen       Deprecated in RFC1573.  Set to zero if present.
--      ifSpecific      Deprecated in RFC1573.  Set to {0.0} if present. 
--
--      linkUp TRAP     Not supported for the vlan/encaps sublayers
--      linkDown TRAP   Not supported for the vlan/encaps sublayer
--
-- ======================================================================


        GENERIC-3COM-VLAN-MIB-1-0-1 DEFINITIONS ::= BEGIN

        IMPORTS
                enterprises, IpAddress  FROM RFC1155-SMI
--              RowStatus               FROM SNMPv2-TC
                DisplayString           FROM RFC1213-MIB
                OBJECT-TYPE             FROM RFC-1212
                TruthValue              FROM SNMPv2-TC;

        -- RowStatus as defined in SNMPv2
        -- Refer to rfc1443.txt for concise definition

--PSIM(Remove)         RowStatus   ::=       INTEGER ( 1..6 )

                               -- the following two values are states:
                               -- these values may be read or written
                               --active(1),
                               --notInService(2),

                               -- the following value is a state:
                               -- this value may be read, but not written
                               --notReady(3),

                               -- the following three values are
                               -- actions: these values may be written,
                               --   but are never read
                               --createAndGo(4),
                               --createAndWait(5),
                               --destroy(6)


        a3Com           OBJECT IDENTIFIER ::= { enterprises 43 }
        generic         OBJECT IDENTIFIER ::= { a3Com 10 }
        genExperimental OBJECT IDENTIFIER ::= { generic 1 }
        genVirtual      OBJECT IDENTIFIER ::= { genExperimental 14 }

        --
        -- Structure of MIB
        --
        -- The objects are arranged into the following groups:
        --
        -- 3Com Generic VLAN MIB Groups 
        --
        a3ComVlanGroup          OBJECT IDENTIFIER ::= { genVirtual 1 }
        a3ComVlanProtocolsGroup OBJECT IDENTIFIER ::= { genVirtual 2 }
        a3ComVirtualGroup       OBJECT IDENTIFIER ::= { genVirtual 3 }
        a3ComEncapsulationGroup OBJECT IDENTIFIER ::= { genVirtual 4 }

        --      
        --
        -- 3COM Vlan Type Textual Convention
        --
        --      vlanLayer2(1) = The globally identified VLAN interface is protocol
        --              independent and based on port grouping.  The configuration of
        --              port grouping is controlled through the ifStackTable.
        --
        --      vlanDefaultProtocols(2) = The globally identified VLAN interface is
        --              known as Explicit Default Protocols.  The forwarding behavior
        --              of this type of VLAN interface is defined as follows: 
        --
        --              On devices that support layer 3 VLAN interfaces, there is an
        --              Implicit Default Protocols VLAN interface defined (See
        --              diagram 1 below).  The flooding behavior of the Implicit
        --              Default Protocols VLAN interface is to forward all 
        --              broadcast/multicast/unknown DA frames to all non-source
        --              ports.
        --
        --              DIAGRAM 1: Implicit Default Protocols VLAN Interface
        --
        --              +===============================================+
        --              |           Implicit Default VLAN               |
        --              +===============================================+
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --              |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  | <=== Ports
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --                ^                               
        --                |                               
        --              Any protocol frame sourced on port 1 is flooded to ports 2-8             
        --
        --              To change the above flooding behavior, an NMS can configure
        --              an Explicit Default Protocols for a single port or
        --              a group of ports by using vlanDefaultProtocols(2) (See
        --              Diagram 2).
        --
        --              DIAGRAM 2: Explicit Default Protocols VLAN Interface
        --
        --                +=== Explicit Default Protocols VLAN
        --                |
        --                V     
        --              +===============================================+
        --              |     |         Implicit Default VLAN           |
        --              +===============================================+
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --              |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  | <=== Ports
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --                ^                               
        --                |                               
        --              Any protocol frame sourced on port 1 is now dropped
        --
        --              When a protocol sensitive vlan is configured, the explicit
        --              default protocol can be used to control the flooding of all  
        --              other protocols.  For example (Diagram 3 and 4)
        --
        --              DIAGRAM 3: IP VLAN Interface
        --
        --              +=================+
        --              |   IP VLAN       |
        --              +=================+=============================+
        --              |       Implicit Default VLAN                   |
        --              +===============================================+
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --              |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  | <=== Ports
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --                ^                               
        --                |                               
        --              Any non-IP broadcast/multicast/unknown DA frame sourced on
        --              port 1 is flooded to ports 2-8.  An IP broadcast/multicast or
        --              unknown DA sourced on port 1, is flooded to ports 2-3.           
        --      
        --              To drop all non-IP broadcast/multicast/unknown DA frames at the
        --              source port, the following Explicit Default VLANs should be 
        --              configured:
        --
        --              DIAGRAM 4: IP VLAN Interface with Explicit Default VLANs A, B, C
        --
        --              +=================+
        --              |     IP VLAN     |
        --              +=================+=============================+
        --              |  A  |  B  |  C  | Implicit Default VLAN       |
        --              +===============================================+
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --              |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  | <=== Ports
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --                ^      ^     ^                                  
        --                |      |     |                                  
        --              Any non-IP broadcast/multicast/unknown DA frame sourced on
        --              either ports 1, 2, or 3, is dropped at the port and is not
        --              flooded.
        --
        --      vlanIPProtocol(3)
        --      vlanIPXProtocol(4)
        --      vlanAppleTalkProtocol(5)
        --      vlanXNSProtocol(6)
        --      vlanISOProtocol(7)
        --      vlanDECNetProtocol(8)
        --      vlanNetBIOSProtocol(9)
        --      vlanSNAProtocol(10),
        --      vlanVINESProtocol(11)
        --      vlanX25Protocol(12)
        --      vlanIGMPProtocol(13)  = The globally identified VLAN interface is OSI
        --              layer three sensitive.  Flooding domains are configurable by port
        --              and by protocol in the above set of protocols.
        --
        --      vlanSessionLayer(14)
        --      vlanNetNeui(15)"

        A3ComVlanType ::= INTEGER {
                vlanLayer2(1),
                vlanDefaultProtocols(2),
                vlanIPProtocol(3),
                vlanIPXProtocol(4),
                vlanAppleTalkProtocol(5),
                vlanXNSProtocol(6),
                vlanISOProtocol(7),
                vlanDECNetProtocol(8),
                vlanNetBIOSProtocol(9),
                vlanSNAProtocol(10),
                vlanVINESProtocol(11),
                vlanX25Protocol(12),
                vlanIGMPProtocol(13),
                vlanSessionLayer(14),
                vlanNetBeui(15)
        }

        --
        -- All groups in this MIB are optional.  Support for a 
        -- particular group is dependent upon the capabilities
        -- of the network device.
        --
        -- The VLAN Group
        --
        --      The VLAN mapping group contains objects for
        --      identifying VLANs within a device, and for mapping
        --      these VLANs to a global identifier.  It consists of the
        --      a3ComVlanGlobalMappingTable and the a3ComVlanIfTable.
        --
        -- The VLAN Protocols Group
        --
        --      The VLAN Protocols group contains protocol parameters for
        --      VLAN interfaces based on protocols above layer 2 in the OSI
        --      reference module.  It consists of the a3ComIpVlanTable.
        --      In the future, other protocol groups will be defined as
        --      capabilities are added.
        --
        -- The Virtual Group
        --
        --      The virtual group contains the a3ComNextVirtIfIndex object.
        --      In the future, other groups and object will be added as
        --      capabilities are added.
        --
        -- The Encapsulation Group
        --
        --      The Encapsulation Group contains objects for identifying
        --      and configuring encapsulation entries within a device.
        --      It consists of the a3ComVlanEncapsIfTable.
        --
        --
        -- The 3COM VLAN Global Mapping Table
        --
        -- This table is implemented by all 3Com network devices that  
        -- support interfaces to globally identified VLANs.
        --

    a3ComVlanGlobalMappingTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF A3ComVlanGlobalMappingEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "This table lists VLAN interfaces that are globally
                        identified.  A single entry exists in this list for each
                        VLAN interface in the system that is bound to a global
                        identifier."
                ::= { a3ComVlanGroup 1 }

        a3ComVlanGlobalMappingEntry OBJECT-TYPE
                SYNTAX  A3ComVlanGlobalMappingEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "An individual VLAN interface global mapping entry.
                        Entries in this table are created by setting the
                        a3ComVlanIfGlobalIdentifier object in the
                        a3ComVlanIfTable to a non-zero value."
                INDEX { a3ComVlanGlobalMappingIdentifier }
                ::= { a3ComVlanGlobalMappingTable 1 }

        A3ComVlanGlobalMappingEntry ::=
                SEQUENCE {
                        a3ComVlanGlobalMappingIdentifier
                                INTEGER (0..65535),
                        a3ComVlanGlobalMappingIfIndex
                                INTEGER
                }

    a3ComVlanGlobalMappingIdentifier OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                        "An index into the a3ComVlanGlobalMappingTable and an
                        administratively assigned global VLAN identifier.  The
                        value of this object globally identifies the VLAN interface.
                        For VLAN interfaces, on different network devices, which are
                        part of the same globally identified VLAN, the value of this
                        object will be the same."
        ::= { a3ComVlanGlobalMappingEntry 1 }

        a3ComVlanGlobalMappingIfIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The value of a3ComVlanIfIndex for the VLAN interface in the
                        a3ComVlanIfTable, which is bound to the global identifier
                        specified by this entry."
                ::= { a3ComVlanGlobalMappingEntry 2 }

        --
        -- The 3COM VLAN Interface Table
        --
        -- This table is implemented by all 3Com network devices that  
        -- support VLAN interfaces.
        --

    a3ComVlanIfTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF A3ComVlanIfEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "This table lists VLAN interfaces that exist within
                        a device.  A single entry exists in this list for each
                        VLAN interface in the system.  A VLAN interface may
                        be created, destroyed and/or mapped to a globally 
                        identified vlan."
                ::= { a3ComVlanGroup 2 }

        a3ComVlanIfEntry OBJECT-TYPE
                SYNTAX  A3ComVlanIfEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "An individual VLAN interface entry.  When an NMS wishes
                        to create a new entry in this table, it must obtain a 
                        non-zero index from the a3ComNextAvailableVirtIfIndex
                        object.  Row creation in this table will fail if the
                        chosen index value does not match the current value 
                        returned from the a3ComNextAvailableVirtIfIndex object."
                INDEX { a3ComVlanIfIndex }
                ::= { a3ComVlanIfTable 1 }

        A3ComVlanIfEntry ::=
                SEQUENCE {
                        a3ComVlanIfIndex
                                INTEGER,
                        a3ComVlanIfDescr
                                DisplayString,
                        a3ComVlanIfType
                                A3ComVlanType,
                        a3ComVlanIfGlobalIdentifier
                                INTEGER,
                        a3ComVlanIfInfo
                                OCTET STRING,
                        a3ComVlanIfStatus
                                RowStatus,
                        a3ComVlanIfIgnoreStpFlag
                                TruthValue
                }

    a3ComVlanIfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                        "The index value of this row and the vlan's ifIndex in the
                        ifTable.  The NMS obtains the index value for this row by
                        reading the a3ComNextAvailableVirtIfIndex object."
        ::= { a3ComVlanIfEntry 1 }

        a3ComVlanIfDescr OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(0..80))
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "This is a description of the VLAN interface."
                ::= {a3ComVlanIfEntry 2}

    a3ComVlanIfType OBJECT-TYPE
        SYNTAX  A3ComVlanType
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                        "The VLAN interface type."
        ::= { a3ComVlanIfEntry 3 }

    a3ComVlanIfGlobalIdentifier OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-write 
        STATUS  mandatory
        DESCRIPTION
                        "An administratively assigned global VLAN identifier.  For
                        VLAN interfaces, on different network devices, which are
                        part of the same globally identified VLAN, the value of this
                        object will be the same.  

                        The binding between a global identifier and a VLAN 
                        interface can be created or removed.  To create a binding
                        an NMS must write a non-zero value to this object.  To
                        delete a binding, the NMS must write a zero to this
                        object."
                ::= { a3ComVlanIfEntry 4 }

        a3ComVlanIfInfo OBJECT-TYPE
                SYNTAX  OCTET STRING
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "A TLV encoded information string for the VLAN interface.
                         The information contained within this string corresponds
                         to VLAN information not contained within this table, but
                         contained elsewhere within this MIB module.  The purpose
                         of this string is to provide an NMS with a quick read 
                         mechanism of all related VLAN interface information.
                        
                         The encoding rules are defined according to:

                                tag     =       2 bytes
                                length  =       2 bytes
                                value   =       n bytes

                        The following tags are defined:

                        TAG             OBJECT                  DESCRIPTION
                        1               a3ComIpVlanIpNetAddress IP Network Address of IP VLAN   
                        2               a3ComIpVlanIpNetMask    IP Network Mask of IP VLAN"
                ::= { a3ComVlanIfEntry 5 }

    a3ComVlanIfStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "The status column for this VLAN interface. 
            This OBJECT can be set to:

                        active(1)
                        createAndGo(4)
                        createAndWait(5)
                        destroy(6)

            The following values may be read:
                        active(1)
                        notInService(2)
                        notReady(3).
                        
                        Setting this object to createAndGo(4) causes the agent
                        to attempt to create and commit the row based on 
                        the contents of the objects in the row.  If all necessary
                        information is present in the row and the values are
                        acceptible to the agent, the agent will change the 
                        status to active(1).  If any of the necessary objects  
                        are not available, the agent will reject the creation
                        request.        

                        Setting this object to createAndWait(5) causes a row
                        in this table to be created.  The agent sets the
                        status to notInService(2) if all of the information is
                        present in the row and the values are acceptable to the
                        agent; otherwise, the agent sets the status to
                        notReady(3).

                        Setting this object to active(1) is only valid when
                        the current status is active(1) or notInService(2).  

                        When the state of the row transitions is set to active(1),
                        the agent creates the corresponding row in the ifTable..

                        Setting this object to destroy(6) will remove the corresponding
                        VLAN interface, remove the entry in this table, and the
                        corresponding entries in the a3ComVlanGlobalMappingTable
                        and the ifTable.

                        In order for a set of this object to destroy(6) to succeed,
                        all dependencies on this row must have been removed.  These
                        will include any stacking dependencies in the ifStackTable and
                        any protocol specific tables dependencies."
        ::= { a3ComVlanIfEntry 6 }

        a3ComVlanIfIgnoreStpFlag OBJECT-TYPE
                SYNTAX          TruthValue
                ACCESS          read-write
                STATUS          mandatory
                DESCRIPTION
                "Enable/disable STP for this VLAN interface. Setting this
                        object to true will cause the ports on this VLAN to ignore
                        STP BPDUs. When a vlan is first created, the Default value 
                        is FALSE, which means that the VLAN uses STP port information"
        ::= { a3ComVlanIfEntry 7 }


        --
        --  The IP VLAN Interface Information Table
        --
        --      The IP VLAN Interface Information table is supported by 
        --      network devices that support IP VLAN interfaces. 
        --
        --      A row must be created in this table for each IP
        --      VLAN interface that shares 1 or more ports with
        --      another IP VLAN interface.   Entries in this table
        --      must be created before the entries in the ifStack
        --      Table, which cause the overlap.  The index used is the
        --      same index as that used to create the IP VLAN interface
        --      in the a3ComVlanIfTable.  The NMS must remove entries 
        --      in this table, prior to removing the corresponding entry
        --      in the a3ComVlanIfTable.
        --
        --      The information in this table is used to convey additional 
        --      layer 3 information necessary to support overlapping
        --      IP VLAN Interfaces.  If an NMS does not wish to 
        --      configure overlapping IP VLAN interfaces, then
        --      the information in this table is not needed.
        --
        --      Below is an example of a non-overlapping IP VLAN
        --      interface: 
        --
        --              +=======================+
        --              |     IP VLAN 1         |
        --              +=======================+
        --                                      +=======================+
        --                                      |      IP VLAN 2        |
        --                                      +=======================+
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --              |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  | <=== Ports
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --      Non-Overlapping IP VLAN Interfaces
        --
        --      Below is an example of an overlapping IP VLAN 
        --      interface.  The IP VLAN Interface Information table 
        --      must be setup before this configuration is supported.  
        --      The agent will fail sets to the ifStack table that
        --      produce overlapping IP VLAN interfaces if the
        --      VLAN interfaces do not have completed entries in 
        --      the IP VLAN Interface Information table.
        -- 
        --              +=============================+
        --              |          IP VLAN 1          |
        --              +=============================+
        --                                +=============================+
        --                                |           IP VLAN 2         |
        --                                +=============================+
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --              |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  | <=== Ports
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --      Overlapping IP VLAN Interfaces
        --      

        a3ComIpVlanTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF A3ComIpVlanEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "A list of IP VLAN interface information
                        entries.  Entries in this table are related
                        to entries in the a3ComVlanIfTable by using the
                        same index."
                ::= { a3ComVlanProtocolsGroup 1 }

        a3ComIpVlanEntry OBJECT-TYPE
                SYNTAX  A3ComIpVlanEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "A a3ComIpVlanEntry contains layer 3
                        information about a particular IP VLAN
                        interface.  Note entries in this table
                        cannot be deleted until the entries in
                        the ifStackTable that produce overlap
                        are removed."
                INDEX   { a3ComVlanIfIndex }
                ::= { a3ComIpVlanTable 1 }

        A3ComIpVlanEntry ::=
                SEQUENCE {
                        a3ComIpVlanIpNetAddress
                                IpAddress,
                        a3ComIpVlanIpNetMask
                                IpAddress,
                        a3ComIpVlanStatus
                                RowStatus       
                }

        a3ComIpVlanIpNetAddress OBJECT-TYPE
                SYNTAX  IpAddress 
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The IP network number for the IP VLAN interface defined
                        in the a3ComVlanIfTable identified with the same index.
                        The IpNetAdress and the IpNetMask must be set and the
                        the row creation process completed by a NMS before
                        overlapping rows in the ifStackTable can be created.
                        Sets to the ifStackTable that produce overlapping
                        IP VLAN interfaces will fail if this object is not
                        set."
                ::= { a3ComIpVlanEntry 1 }

        a3ComIpVlanIpNetMask OBJECT-TYPE
                SYNTAX  IpAddress 
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The IP network mask corresponding to the IP Network
                        address defined by a3ComIpVlanIpNetAddress.  The
                        IpNetAdress and the IpNetMask must be set and the
                        row creation process completed by a NMS before 
                        overlapping rows in the ifStackTable can be created.
                        Sets to the ifStackTable that produce overlapping
                        IP VLAN interfaces will fail if this object is not
                        set."
                ::= { a3ComIpVlanEntry 2 }

        a3ComIpVlanStatus OBJECT-TYPE
                SYNTAX  RowStatus
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The status column for this IP VLAN entry.
                        This object can be set to:

                        active(1)
                        createAndGo(4)
                        createAndWait(5)
                        destroy(6)

                        The following values may be read:

                        active(1)
                        notInService(2)
                        notReady(3).    

                        Setting this object to createAndGo(4) causes the agent
                        to attempt to create and commit the row based on 
                        the contents of the objects in the row.  If all necessary
                        information is present in the row and the values are
                        acceptible to the agent, the agent will change the 
                        status to active(1).  If any of the necessary objects  
                        are not available, the agent will reject the row 
                        creation request.

                        Setting this object to createAndWait(5) causes a row in
                        in this table to be created.  The agent sets the
                        status to notInService(2) if all of the information is
                        present in the row and the values are acceptible to the
                        agent; otherwise, the agent sets the status to
                        notReady(3).

                        Setting this object to active(1) is only valid when
                        the current status is active(1) or notInService(2).

                        When the status changes to active(1), the agent applies the
                        IP parmeters to the IP VLAN interface identified by the
                        corresponding value of the a3ComIpVlanIndex object.

                        Setting this object to destroy(6) will remove the IP
                        parmeters from the IP VLAN interface and remove the
                        entry from this table.

                        Setting this object to destroy(6) will remove the layer 3
                        information from the IP VLAN interface and will remove the
                        row from this table.  Note that this action cannot be
                        performed if there are ifStackTable entries that result in
                        overlapping IP VLAN interfaces.  Note that these
                        dependencies must be removed first."
                ::= { a3ComIpVlanEntry 3 }

        -- The 3Com VLAN Encapsulation Interface Table
        --
        -- VLAN Encapsulation refers to the ability to multiplex
        -- several VLANs over a single network segment by explicitly
        -- labeling eack packet with a tag that identifies the packet's
        -- VLAN membership.
        --
        -- There exist at least 2 tagging algorithms: a 3Com proprietary tagging 
        -- scheme developped by PDD ("VLT tagging"), a standard tagging scheme
        -- under development in IEEE ("802.1q tagging").  Within a given device
        -- (i.e., within a givin agents purview), both tagging schemes may be
        -- in use simultaneously, possibly for different segments associated 
        -- with the same VLAN.  Even when only a single tagging scheme is in use, a
        -- a single VLAN may be represented with different tags when traffic is 
        -- transmitted/received through different (tagging) ports.  Some ports
        -- support tagging, some don't.  For ports that support tagging, they may 
        -- sometimes operate in tagging mode, sometime not in tagging mode.  
        -- (Conceivably, one could also have ports that handle a mixture of tagged 
        -- and untagged traffic.)
        --
        -- The encapsulation interface will be creatable by the NMS using a table
        -- similar to the a3ComVlanIfTable.  This table will allow the NMS to define 
        -- certain attributes of the encapsulation including an encapsulation 
        -- algorithm and a tag value.  Using the ifStack table, an encapsulation
        -- interface may be stacked underneath a VLAN interface and on top of port(s).
        -- 
        -- Example ifTable Stacking:
        --
        --              +=======================+=======================+
        --              |     VLAN Xface 9      |       VLAN Xface 11   |
        --              +=======================+=======================+
        --              +=======================+
        --              |      ENCAPS Xface 10  |
        --              +=======================+
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --              |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |<=== Ports
        --              +=====+=====+=====+=====+=====+=====+=====+=====+
        --
        -- ifStackTable Instances:
        --              ifStackHigher   ifStackLower
        --                   0               9
        --                   0               11
        --                   1               0
        --                   2               0
        --                   3               0
        --                   4               0
        --                   9               10
        --                  10               1
        --                  10               2
        --                  10               3
        --                  10               4
        --                  11               5
        --                  11               6
        --                  11               7
        --                  11               8
        --
        -- A stack that contains a VLAN, encapsulation and a port interface, specifies:
        --
        -- * For packets received through the given port that use the given encapsulation
        --   scheme and contain the given tag, those packets are members of the given VLAN.
        --
        -- * For unencapsulated packets from the given VLAN that are to be transmitted out
        --   the given port, those packets must first be encapsulated using the given
        --   encapsulation algorithm and tag.
        -- 
        -- This table is implemented by all 3Com network devices that  
        -- support the encapsulation of multiple VLANs over a single interface.
        --

        A3ComVlanEncapsType ::= INTEGER { 
                vlanEncaps3ComProprietaryPDD(1),
                vlanEncaps8021q(2),
                vlanEncapsPre8021qONcore(3)
        }


        a3ComVlanEncapsIfTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF A3ComVlanEncapsIfEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "This table lists VLAN encapsulation interfaces that
                        exist within a device.  A single entry exists in this
                        list for each VLAN encapsulation interface in the
                        system.  A VLAN encapsulation interface may be created
                        or destroyed."
                ::= { a3ComEncapsulationGroup 1 }

        a3ComVlanEncapsIfEntry OBJECT-TYPE
                SYNTAX  A3ComVlanEncapsIfEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "An individual VLAN encapsulation interface entry. 
                        When an NMS wishes to create a new entry in this table,
                        it must obtain a non-zero index from the
                        a3ComNextAvailableVirtIfIndex object.  Row creation in
                        this table will fail if the chosen index value does
                        not match the current value returned from the
                        a3ComNextAvailableVirtIfIndex object."
                INDEX { a3ComVlanEncapsIfIndex }
                ::= { a3ComVlanEncapsIfTable 1 }

        A3ComVlanEncapsIfEntry ::=
                SEQUENCE {
                        a3ComVlanEncapsIfIndex
                                INTEGER,
                        a3ComVlanEncapsIfType
                                A3ComVlanEncapsType,
                        a3ComVlanEncapsIfTag
                                INTEGER,
                        a3ComVlanEncapsIfStatus
                                RowStatus
                }

        a3ComVlanEncapsIfIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The index value of this row and the encapsulation
                        interface's ifIndex in the ifTable.  The NMS obtains
                        the index value used for creating a row in this table
                        by reading the a3ComNextAvailableVirtIfIndex object."
        ::= { a3ComVlanEncapsIfEntry 1 }

        a3ComVlanEncapsIfType OBJECT-TYPE
                SYNTAX  A3ComVlanEncapsType
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The encapsulation algorithm used when encapsulating
                        packets transmitted, or de-encapsulating packets
                        received through this interface."
        ::= {a3ComVlanEncapsIfEntry 2}

        a3ComVlanEncapsIfTag OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The tag used when encapsulating packets transmitted,
                        or de-encapsulating packets received through this
                        interface."
        ::= { a3ComVlanEncapsIfEntry 3 }

        a3ComVlanEncapsIfStatus OBJECT-TYPE
                SYNTAX  RowStatus
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The row status for this VLAN encapsulation interface. 

                         This OBJECT can be set to:

                                active(1)
                                createAndGo(4)
                                createAndWait(5)
                                destroy(6)

                        The following values may be read:
                                active(1)
                                notReady(3).
                        
                        In order for a row to become active, the NMS must set
                        a3ComVlanEncapsIfTagType and a3ComVlanEncapsIfTag to
                        some valid and consistent values.  

                        Setting this object to createAndGo(4) causes the agent
                        to attempt to create and commit the row based on the
                        contents of the objects in the row. If all necessary
                        information is present in the row, the agent will
                        create the row and change the status to active(1).  If
                        any of the necessary objects are not available, or
                        specify an invalid configuration, the row will not be
                        created and the agent will return an appropriate error.

                        Setting this object to createAndWait(5) causes a row in
                        in this table to be created.  If all necessary objects
                        in the row have been assigned values and specify a valid
                        configuration, the status of the row will be set to
                        notInService(2); otherwise, the status will be set to
                        notReady(3).  

                        This object may only be set to createAndGo(4) or
                        createAndWait(5) if it does not exist.

                        Setting this object to active(1) when the status is
                        notInService(2) causes the agent to commit the
                        row.  Setting this object to active(1) when its value
                        is already active(1) is a no-op.

                        Setting this object to destroy(6) will remove the
                        corresponding VLAN encapsulation interface, remove the
                        entry in this table, and remove the corresponding entry
                        in the ifTable.

                        In order for a set of this object to destroy(6) to
                        succeed, all dependencies on this row must have been
                        removed.  These will include any references to this
                        interface in the ifStackTable."
        ::= { a3ComVlanEncapsIfEntry 4 }

        --
        -- The a3ComNextAvailableVirtIfIndex
        --

        a3ComNextAvailableVirtIfIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The value of the next available virtual ifIndex.  This
                         object is used by an NMS to select an index value 
                         for row-creation in tables indexed by ifIndex.  The 
                         current value of this object is changed to a new
                         value when the current value is written to an agent's
                         table, that is indexed by ifIndex.  Row creation
                         using the current value of this object, allocates
                         a virtual ifIndex.  Note the following:
                        
                         1. A newly created row does not have to be active(1)
                            for the agent to allocate the virtual ifIndex.

                         2. Race conditions between multiple NMS's end when
                            a row is created.  Rows are deemed created when
                            a setRequest is successfully committed (i.e.
                            the errorStats is noError(0)).

                        3.  An agent that exhausts its supply of virual
                            ifIndex values returns zero as the value of this
                            object.  This can be used by an NMS as an indication
                            to deleted unused rows and reboot the device."
                ::= { a3ComVirtualGroup 1 }              
END



-- ################################################################################

LOAD-BAL-SYSTEM-MIB DEFINITIONS ::= BEGIN
--================================================================
--  LOAD-BAL-SYSTEM-MIB
--    A private enterprise mib for ip load balancing systems.
--================================================================

IMPORTS
        enterprises, Counter, IpAddress, TimeTicks
                FROM RFC1155-SMI
        OBJECT-TYPE
                FROM RFC-1212
        TRAP-TYPE
                FROM RFC-1215;

-- numerical definitions:
f5              OBJECT IDENTIFIER ::= { enterprises 3375 }
f5systems       OBJECT IDENTIFIER ::= { f5 1 }
loadbal         OBJECT IDENTIFIER ::= { f5systems 1 }

--globals               OBJECT IDENTIFIER ::= { loadbal 1 }
virtualAddress  OBJECT IDENTIFIER ::= { loadbal 2 }
virtualServer   OBJECT IDENTIFIER ::= { loadbal 3 }
snat            OBJECT IDENTIFIER ::= { loadbal 4 }
interface       OBJECT IDENTIFIER ::= { loadbal 5 }
ifaddress       OBJECT IDENTIFIER ::= { loadbal 6 }
pool            OBJECT IDENTIFIER ::= { loadbal 7 }
poolMember      OBJECT IDENTIFIER ::= { loadbal 8 }

-- Old groups
vaddress        OBJECT IDENTIFIER ::= { loadbal 100 }
ndaddr          OBJECT IDENTIFIER ::= { loadbal 101 }
nat             OBJECT IDENTIFIER ::= { loadbal 102 }
vport           OBJECT IDENTIFIER ::= { loadbal 103 }
member          OBJECT IDENTIFIER ::= { loadbal 104 }

loadBalTrap       OBJECT IDENTIFIER ::= { loadbal 110 }
loadBalTraps      OBJECT IDENTIFIER ::= { loadBalTrap 2 }

DisplayString ::= OCTET STRING 

--================================================================
-- Interfaces 
--================================================================

interfaceNumber OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of interfaces on this load balancer."
        ::= { interface 1 }

interfaceTable OBJECT-TYPE
        SYNTAX SEQUENCE OF InterfaceEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A table containing information about the load balancer intefaces."
        ::= { interface 2 }

interfaceEntry OBJECT-TYPE
        SYNTAX InterfaceEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "Columns in the Interface Table."
        INDEX { interfaceName }
        ::= { interfaceTable 1 }

InterfaceEntry ::=
        SEQUENCE {
                interfaceName                   DisplayString (SIZE (0..8)),
                interfaceIpAddresses            DisplayString (SIZE (0..255)),
                interfaceDestination            INTEGER,
                interfaceSource                 INTEGER,
                interfaceTimeout                INTEGER,
                interfaceArmed                  INTEGER,
                interfaceVLANSEnabled           INTEGER,
                interfaceMasqueradeAddress      DisplayString (SIZE (0..255)),
                interfaceLastTimeChanged        INTEGER,
                interfaceSpeed                  INTEGER,
                interfaceFullDuplex             INTEGER
        }

interfaceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..8))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The name of the interface."
        ::= { interfaceEntry 1 }

interfaceIpAddresses OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The list of IP addresses on this interface."
        ::= { interfaceEntry 2 }

interfaceDestination OBJECT-TYPE
        SYNTAX  INTEGER {
                true(1),
                false(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "This is a destination interface."
        ::= { interfaceEntry 3 }

interfaceSource OBJECT-TYPE
        SYNTAX  INTEGER {
                true(1),
                false(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "This is a source interface."
        ::= { interfaceEntry 4 }

interfaceTimeout OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The seconds before a failover is triggered in failsafe mode."
        ::= { interfaceEntry 5 }

interfaceArmed OBJECT-TYPE
        SYNTAX  INTEGER {
                true(1),
                false(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The interface will be armed if the interface failsafe mode is activated."
        ::= { interfaceEntry 6 }

interfaceVLANSEnabled OBJECT-TYPE
        SYNTAX  INTEGER {
                true(1),
                false(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Is VLANS enabled for this interface."
        ::= { interfaceEntry 7 }

interfaceMasqueradeAddress OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "MAC masquerade address of this interface."
        ::= { interfaceEntry 8 }

interfaceLastTimeChanged OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The last time the interface attributes were modified."
        ::= { interfaceEntry 9 }

interfaceSpeed OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The speed of this interface."
        ::= { interfaceEntry 10 }

interfaceFullDuplex OBJECT-TYPE
        SYNTAX  INTEGER {
                true(1),
                false(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Is this interface operating in full duplex mode."
        ::= { interfaceEntry 11 }

--================================================================
--  interface ip addresses 
--================================================================

ifaddressNumber OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of interface ip addresses on this load balancer."
        ::= { ifaddress 1 }

ifaddressTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IfaddressEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A table containing information about the load balancer interface ip addresses."
        ::= { ifaddress 2 }

ifaddressEntry OBJECT-TYPE
        SYNTAX IfaddressEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "Columns in the Interface Table."
        INDEX { ifaddressIpAddress }
        ::= { ifaddressTable 1 }

IfaddressEntry ::=
        SEQUENCE {
                ifaddressIpAddress              IpAddress,
                ifaddressInterfaceName          DisplayString (SIZE (0..255)),
                ifaddressNetmask                IpAddress,
                ifaddressBroadcast              IpAddress,
                ifaddressType                   INTEGER,
                ifaddressUnitId                 INTEGER,
                ifaddressVLANTag                DisplayString (SIZE (0..5))
        }

ifaddressIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The ip address for this interface ip address."
        ::= { ifaddressEntry 1 }

ifaddressInterfaceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The name of the interface for this ip address."
        ::= { ifaddressEntry 2 }

ifaddressNetmask OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The netmask for this interface ip address."
        ::= { ifaddressEntry 3 }

ifaddressBroadcast OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The broadcast address for this interface ip address."
        ::= { ifaddressEntry 4 }

ifaddressType OBJECT-TYPE
        SYNTAX INTEGER {
                iptrue(1),
                ipshared(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The type for this interface ip address."
        ::= { ifaddressEntry 5 }

ifaddressUnitId OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The unit id for this interface ip address."
        ::= { ifaddressEntry 6 }

ifaddressVLANTag OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..5))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The VLAN tag for this interface ip address."
        ::= { ifaddressEntry 7 }

--================================================================
--  Pools
--================================================================

poolNumber OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of pools on this load balancer."
        ::= { pool 1 }

poolTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PoolEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A table containing information about the load balancer pools."
        ::= { pool 2 }

poolEntry OBJECT-TYPE
        SYNTAX PoolEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "Columns in the Pool Table."
        INDEX { poolName }
        ::= { poolTable 1 }

PoolEntry ::=
        SEQUENCE {
                poolName                DisplayString (SIZE (0..255)),
                poolLBMode              INTEGER,
                poolDependent           INTEGER,
                poolMemberQty           INTEGER,
                poolBitsin              Counter,
                poolBitsout             Counter,
                poolBitsinHi32          Counter,
                poolBitsoutHi32         Counter,
                poolPktsin              Counter,
                poolPktsout             Counter,
                poolPktsinHi32          Counter,
                poolPktsoutHi32         Counter,
                poolMaxConn             INTEGER (0..65535),
                poolCurrentConn         INTEGER (0..65535),
                poolTotalConn           Counter
        }

poolName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The name of this pool."
        ::= { poolEntry 1 }

poolLBMode OBJECT-TYPE
        SYNTAX INTEGER {
                roundrobin(1),
                ratio(2),
                fastest(3),
                leastConn(4),
                predictive(5),
                observed(6),
                priority(7),
                ratioNodeAddress(8),
                priorityNodeAddress(9),
                leastConnNodeAddress(10),
                globalDefault(11)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The load balance mode of this pool."
        ::= { poolEntry 2 }

poolDependent OBJECT-TYPE
        SYNTAX INTEGER {
                true(1),
                false(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Is this pool a dependent pool."
        ::= { poolEntry 3 }

poolMemberQty OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of members in this pool."
        ::= { poolEntry 4 }

poolBitsin OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits in for this pool."
        ::= { poolEntry 5 }

poolBitsout OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits out for this pool."
        ::= { poolEntry 6 }

poolBitsinHi32 OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits in for this pool."
        ::= { poolEntry 7 }

poolBitsoutHi32 OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits out for this pool."
        ::= { poolEntry 8 }

poolPktsin OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets in for this pool."
        ::= { poolEntry 9 }

poolPktsout OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets out for this pool."
        ::= { poolEntry 10 }

poolPktsinHi32 OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets in for this pool."
        ::= { poolEntry 11 }

poolPktsoutHi32 OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets out for this pool."
        ::= { poolEntry 12 }

poolMaxConn OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The maximum number of connections the members of  
                this pool have had open at any one time."
        ::= { poolEntry 13 }

poolCurrentConn OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The current number of connections the members of  
                this pool have open."
        ::= { poolEntry 14 }

poolTotalConn OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of connections the members of 
                this pool have served since the pool started."
        ::= { poolEntry 15 }

--================================================================
--  Pool Members
--================================================================

poolMemberNumber OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of pool members on this load balancer."
        ::= { poolMember 1 }

poolMemberTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PoolMemberEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A table containing information about the load balancer pool members."
        ::= { poolMember 2 }

poolMemberEntry OBJECT-TYPE
        SYNTAX PoolMemberEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "Columns in the Pool Member Table."
        INDEX { poolMemberPoolName, poolMemberIpAddress, poolMemberPort }
        ::= { poolMemberTable 1 }

PoolMemberEntry ::=
        SEQUENCE {
                poolMemberPoolName              DisplayString (SIZE (0..255)),
                poolMemberIpAddress             IpAddress,
                poolMemberPort                  INTEGER,
                poolMemberMaintenance           INTEGER,
                poolMemberRatio                 INTEGER,
                poolMemberPriority              INTEGER,
                poolMemberWeight                INTEGER,
                poolMemberRipeness              INTEGER,
                poolMemberBitsin                Counter,
                poolMemberBitsout               Counter,
                poolMemberBitsinHi32            Counter,
                poolMemberBitsoutHi32           Counter,
                poolMemberPktsin                Counter,
                poolMemberPktsout               Counter,
                poolMemberPktsinHi32            Counter,
                poolMemberPktsoutHi32           Counter,
                poolMemberConnLimit             INTEGER (0..65535),
                poolMemberMaxConn               INTEGER (0..65535),
                poolMemberCurrentConn           INTEGER (0..65535),
                poolMemberTotalConn             Counter
        }

poolMemberPoolName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The name of the pool which contains this member."
        ::= { poolMemberEntry 1 }

poolMemberIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The ip address of this pool member."
        ::= { poolMemberEntry 2 }

poolMemberPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The port of this pool member."
        ::= { poolMemberEntry 3 }

poolMemberMaintenance OBJECT-TYPE
        SYNTAX INTEGER {
                true(1),
                false(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Is this pool member in maintenance mode."
        ::= { poolMemberEntry 4 }

poolMemberRatio OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Load balancing ratio of the member within the pool. 
                Used by member ratio load balancing mode."
        ::= { poolMemberEntry 5 }

poolMemberPriority OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Priority level of the member within the pool.
                Used by priority member load balancing mode."
        ::= { poolMemberEntry 6 }

poolMemberWeight OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Weight of the member within the pool.
                Used during dynamically calculated ratio 
                load balancing."
        ::= { poolMemberEntry 7 }

poolMemberRipeness OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The current load balancing state in member
                ratio load balancing mode."
        ::= { poolMemberEntry 8 }

poolMemberBitsin OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits in for this pool member."
        ::= { poolMemberEntry 9 }

poolMemberBitsout OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits out for this pool member."
        ::= { poolMemberEntry 10 }

poolMemberBitsinHi32 OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits in for this pool member."
        ::= { poolMemberEntry 11 }

poolMemberBitsoutHi32 OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits out for this pool member."
        ::= { poolMemberEntry 12 }

poolMemberPktsin OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets in for this pool member."
        ::= { poolMemberEntry 13 }

poolMemberPktsout OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets out for this pool member."
        ::= { poolMemberEntry 14 }

poolMemberPktsinHi32 OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets in for this pool member."
        ::= { poolMemberEntry 15 }

poolMemberPktsoutHi32 OBJECT-TYPE
        SYNTAX  Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets out for this pool member."
        ::= { poolMemberEntry 16 }

poolMemberConnLimit OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The maximum number of connections this pool
                member can have open at any one time."
        ::= { poolMemberEntry 17 }

poolMemberMaxConn OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The maximum number of connections this pool
                member has had open at any one time."
        ::= { poolMemberEntry 18 }

poolMemberCurrentConn OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The current number of connections this pool
                member has open."
        ::= { poolMemberEntry 19 }

poolMemberTotalConn OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of connections this pool
                 member have served since the pool member started."
        ::= { poolMemberEntry 20 }


--================================================================
-- Virtual Addresses
--================================================================

virtualAddressNumber OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of virtual addresses on this load balancer."
        ::= { virtualAddress 1 }

virtualAddressTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VirtualAddressEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A table containing information about the load balancer
                Virtual Server addresses."
        ::= { virtualAddress 2 }

virtualAddressEntry OBJECT-TYPE
        SYNTAX VirtualAddressEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "Columns in the Virtual Address Table."
        INDEX { virtualAddressIpAddress }
        ::= { virtualAddressTable 1 }

VirtualAddressEntry ::=
        SEQUENCE {
                virtualAddressIpAddress         IpAddress,
                virtualAddressStatus            INTEGER,
                virtualAddressConnLimit         INTEGER (0..65535),
                virtualAddressNetmask           IpAddress,
                virtualAddressBroadcast         IpAddress,
                virtualAddressInterface         DisplayString (SIZE (0..8)),
                virtualAddressFailoverFlags     INTEGER,
                virtualAddressOctetsIn          Counter,
                virtualAddressOctetsOut         Counter,
                virtualAddressPacketsIn         Counter,
                virtualAddressPacketsOut        Counter,
                virtualAddressCurrentConn       INTEGER (0..65535),
                virtualAddressMaxConn           INTEGER (0..65535),
                virtualAddressTotalConn         Counter,
                virtualAddressOctetsInHi32      Counter,
                virtualAddressOctetsOutHi32     Counter,
                virtualAddressPacketsInHi32     Counter,
                virtualAddressPacketsOutHi32    Counter,
                virtualAddressUnitId            INTEGER
        }

virtualAddressIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The ip address for this virtual server."
        ::= { virtualAddressEntry 1 }

virtualAddressStatus OBJECT-TYPE
        SYNTAX INTEGER {
                ready(1),
                maintainance(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Is this server in maintainance mode?"
        ::= { virtualAddressEntry 2 }

virtualAddressConnLimit OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of connections this virtual address
                can support at one time."
        ::= { virtualAddressEntry 3 }

virtualAddressNetmask OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The netmask for this virtual address."
        ::= { virtualAddressEntry 4 }

virtualAddressBroadcast OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The broadcast address for this virtual address."
        ::= { virtualAddressEntry 5 }

virtualAddressInterface OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..8))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The name of the network interface that this address
                is attached to."
        ::= { virtualAddressEntry 6 }

virtualAddressFailoverFlags OBJECT-TYPE
        SYNTAX INTEGER {
                mirrorconnections(1),
                mirrorpersistence(2),
                mirrorconnectionspersistence(3),
                nomirroring(4)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The failover flags for the this virtual address.
                The virtualAddressFailoverFlag is no longer relevant. Mirroring
                is controlled through the virtualServerFailoverFlag."
        ::= { virtualAddressEntry 7 }

virtualAddressOctetsIn OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of octets received from the network from
                this virtual server."
        ::= { virtualAddressEntry 8 }

virtualAddressOctetsOut OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of octets sent to the network from this
                virtual server."
        ::= { virtualAddressEntry 9 }

virtualAddressPacketsIn OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of packets received from the network from
                this virtual server."
        ::= { virtualAddressEntry 10 }

virtualAddressPacketsOut OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of packets sent to the network from this
                virtual server."
        ::= { virtualAddressEntry 11 }

virtualAddressCurrentConn OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of connections currently open on this
                virtual server."
        ::= { virtualAddressEntry 12 }

virtualAddressMaxConn OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The maximum number of connections this virtual server
                has had open at any one time."
        ::= { virtualAddressEntry 13 }

virtualAddressTotalConn OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of connections this virtual server
                has served since the server started."
        ::= { virtualAddressEntry 14 }

virtualAddressOctetsInHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of octets received from the network from
                this virtual server."
        ::= { virtualAddressEntry 15 }

virtualAddressOctetsOutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of octets sent to the network from this
                virtual server."
        ::= { virtualAddressEntry 16 }

virtualAddressPacketsInHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of packets received from the network from
                this virtual server."
        ::= { virtualAddressEntry 17 }

virtualAddressPacketsOutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of packets sent to the network from this
                virtual server."
        ::= { virtualAddressEntry 18 }

virtualAddressUnitId OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The unit id of this virtual server."
        ::= { virtualAddressEntry 19 }

--================================================================
--Virtual Servers
--================================================================

virtualServerNumber OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of virtual servers on this load balancer."
        ::= { virtualServer 1 }

virtualServerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VirtualServerEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A table containing load balancer Virtual server information."
        ::= { virtualServer 2 }

virtualServerEntry OBJECT-TYPE
        SYNTAX VirtualServerEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "Columns in the Virtual Server table."
        INDEX { virtualServerIpAddress,virtualServerPort }
        ::= { virtualServerTable 1 }

VirtualServerEntry ::=
        SEQUENCE {
                virtualServerIpAddress          IpAddress,
                virtualServerPort               INTEGER (0..65535),
                virtualServerStatus             INTEGER,
                virtualServerConnLimit          INTEGER (0..65535),
                virtualServerAppProtocol        INTEGER,
                virtualServerAppProtocolTimeout INTEGER (0..65535),
                virtualServerAppProtocolReaper  INTEGER (0..65535),
                virtualServerPersistTimeout     INTEGER,
                virtualServerPersistMask        IpAddress,
                virtualServerSticky             INTEGER,
                virtualServerStickyMask         IpAddress,
                virtualServerFailoverFlags      INTEGER,
                virtualServerOctetsIn           Counter,
                virtualServerOctetsOut          Counter,
                virtualServerPacketsIn          Counter,
                virtualServerPacketsOut         Counter,
                virtualServerCurrentConn        INTEGER (0..65535),
                virtualServerMaxConn            INTEGER (0..65535),
                virtualServerTotalConn          Counter,
                virtualServerSslNew             Counter,
                virtualServerSslHits            Counter,
                virtualServerSslTimeouts        Counter,
                virtualServerSslMisses          Counter,
                virtualServerOctetsInHi32       Counter,
                virtualServerOctetsOutHi32      Counter,
                virtualServerPacketsInHi32      Counter,
                virtualServerPacketsOutHi32     Counter,
                virtualServerCookieMethod       INTEGER,
                virtualServerRule               DisplayString (SIZE (0..255)),
                virtualServerPool               DisplayString (SIZE (0..255))
        }

virtualServerIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The ip address for this virtual server."
        ::= { virtualServerEntry 1}

virtualServerPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The port for this virtual server."
        ::= { virtualServerEntry 2 }

virtualServerStatus OBJECT-TYPE
        SYNTAX INTEGER {
                ready(1),
                maintainance(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Is this server in maintainance mode?"
        ::= { virtualServerEntry 3 }

virtualServerConnLimit OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of connections this virtual server can
                support at one time."
        ::= { virtualServerEntry 4 }

virtualServerAppProtocol OBJECT-TYPE
        SYNTAX INTEGER {
                none (1),
                ssl (2),
                http-cookie(3)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The application tunnelling protocol this virtual server
                uses."
        ::= { virtualServerEntry 5 }

virtualServerAppProtocolTimeout OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The timeout for persistence timeout for this this
                application protocol session."
        ::= { virtualServerEntry 6 }

virtualServerAppProtocolReaper OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The amount of idle time before we reap an application 
                protocol session."
        ::= { virtualServerEntry 7 }

virtualServerPersistTimeout OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The timeout for persistence on this connection."
        ::= { virtualServerEntry 8 }

virtualServerPersistMask OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The IP addresses matching this mask will have persistent
                connections. Those not covered by this mask will not."
        ::= { virtualServerEntry 9 }

virtualServerSticky OBJECT-TYPE
        SYNTAX INTEGER {
                true (1),
        false (2) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Is Destination Address Affinity turned on for this
                connection?" 
        ::= { virtualServerEntry 10 }

virtualServerStickyMask OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The addresses matching this mask will have Destination
                Address Affinity if virtualServerSticky is true."
        ::= { virtualServerEntry 11 }

virtualServerFailoverFlags OBJECT-TYPE
        SYNTAX INTEGER {
                mirrorconnections(1),
                mirrorpersistence(2),
                mirrorconnectionspersistence(3),
                nomirroring(4)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The failover flags for the this virtual server."
        ::= { virtualServerEntry 12 }

virtualServerOctetsIn OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of octets received from the network from this
                virtual server."
        ::= { virtualServerEntry 13 }

virtualServerOctetsOut OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of octets sent to the network from this virtual
                server."
        ::= { virtualServerEntry 14 }

virtualServerPacketsIn OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of packets received from the network from this
                virtual server."
        ::= { virtualServerEntry 15 }

virtualServerPacketsOut OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of packets sent to the network from this virtual
                server."
        ::= { virtualServerEntry 16 }

virtualServerCurrentConn OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of connections currently open on this virtual
                server."
        ::= { virtualServerEntry 17 }

virtualServerMaxConn OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The maximum number of connections this virtual server has had 
                open at any one time."
        ::= { virtualServerEntry 18 }

virtualServerTotalConn OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of connections this virtual server has
                served since the server started."
        ::= { virtualServerEntry 19 }

virtualServerSslNew OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of new SSL sessions on this virtual server."
        ::= { virtualServerEntry 20 }

virtualServerSslHits OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of lookup successes in the SSL session id
                cache for valid session ids."
        ::= { virtualServerEntry 21 }

virtualServerSslTimeouts OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of lookup successes in the SSL session id
                cache for session ids that have already been reaped."
        ::= { virtualServerEntry 22 }

virtualServerSslMisses OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of lookup failures in the SSL session id
                cache."
        ::= { virtualServerEntry 23 }

virtualServerOctetsInHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of octets received from the network from this
                virtual server."
        ::= { virtualServerEntry 24 }

virtualServerOctetsOutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of octets sent to the network from this virtual
                server."
        ::= { virtualServerEntry 25 }

virtualServerPacketsInHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of packets received from the network from this
                virtual server."
        ::= { virtualServerEntry 26 }

virtualServerPacketsOutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of packets sent to the network from this virtual
                server."
        ::= { virtualServerEntry 27 }

virtualServerCookieMethod OBJECT-TYPE
        SYNTAX INTEGER {
                insert(1),
                rewrite(2),
                passive(3)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The cookie persistence method for this virtual server."
        ::= { virtualServerEntry 28 }

virtualServerRule OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The load balancing rule used by this virtual server."
        ::= { virtualServerEntry 29 }

virtualServerPool OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The load balancing pool used by this virtual server
                if a load balancing rule is not defined."
        ::= { virtualServerEntry 30 }

--================================================================
-- SNAT Translation Address Table
--================================================================

snatTransTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SnatTransEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A table of all the secure NATS entries."
        ::= { snat 1 }

snatTransEntry OBJECT-TYPE
        SYNTAX SnatTransEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION "Columns in the table of secure NATS entries."
        INDEX { snatTransAddr }
        ::= { snatTransTable 1 }

SnatTransEntry ::= SEQUENCE {
        snatTransEnabled                INTEGER,
        snatTransAddr                   IpAddress,
        snatTransIface                  DisplayString,
        snatTransNetmask                IpAddress,
        snatTransBroadcast              IpAddress,
        snatTransSecsCollectingStats    Counter,
        snatTransBitsIn                 Counter,
        snatTransBitsOut                Counter,
        snatTransPktsIn                 Counter,
        snatTransPktsOut                Counter,
        snatTransCurrConns              INTEGER,
        snatTransMaxConns               INTEGER,
        snatTransTotalConns             Counter,
        snatTransBitsInHi32             Counter,
        snatTransBitsOutHi32            Counter,
        snatTransPktsInHi32             Counter,
        snatTransPktsOutHi32            Counter,
        snatTransLastTransPort          INTEGER,
        snatTransUnitId                 INTEGER
}
        
snatTransEnabled OBJECT-TYPE
        SYNTAX  INTEGER {
                true(1),
                false(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Is this TransAddress enabled for SNAT?"
        ::= { snatTransEntry 1 }

snatTransAddr OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The ipaddress to the outside world for this SNAT."
        ::= { snatTransEntry 2 }
        
snatTransIface OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..10))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The name of the interface that this trans address
                 exists on."
        ::= { snatTransEntry 3 }

snatTransNetmask OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The network mask for the snatTransAddr."
        ::= { snatTransEntry 4 }

snatTransBroadcast OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The broadcast address for the snatTransAddr."
        ::= { snatTransEntry 5 }

snatTransSecsCollectingStats OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of seconds we have been collecting
                 statistics for this port."
        ::= { snatTransEntry 6 }

snatTransBitsIn OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The total bits in for this SNAT."
        ::= { snatTransEntry 7 }

snatTransBitsOut OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The total bits out for this SNAT."
        ::= { snatTransEntry 8 }

snatTransPktsIn OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The total packets in for this SNAT."
        ::= { snatTransEntry 9 }

snatTransPktsOut OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The total packets out for this SNAT."
        ::= { snatTransEntry 10 }

snatTransCurrConns OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The number of connections currently open for
                this SNAT."
        ::= { snatTransEntry 11 }

snatTransMaxConns OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The maximum number of connections this SNAT
                has had open at any one time."
        ::= { snatTransEntry 12 }

snatTransTotalConns OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The total number of connections this SNAT
                has had since the SNAT started."
        ::= { snatTransEntry 13 }

snatTransBitsInHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The upper 32 bits of the total number of bits in for this SNAT."
        ::= { snatTransEntry 14 }

snatTransBitsOutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The upper 32 bits of the total number of bits out for this SNAT."
        ::= { snatTransEntry 15 }

snatTransPktsInHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The upper 32 bits of the total number of packets in for this SNAT."
        ::= { snatTransEntry 16 }

snatTransPktsOutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The upper 32 bits of the total number of packets out for this SNAT."
        ::= { snatTransEntry 17 }

snatTransLastTransPort OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "Last translated port accessed using the SNAT."
        ::= { snatTransEntry 18 }

snatTransUnitId OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "Unit number of the load balancer to which 
                the SNAT translation address is assigned."
        ::= { snatTransEntry 19 }

--================================================================
-- SNAT Original Address Table
--================================================================

snatOrigTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SnatOrigEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A table of all the secure NATS entries."
        ::= { snat 2 }

snatOrigEntry OBJECT-TYPE
        SYNTAX SnatOrigEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION "Columns in the table of secure NATS entries."
        INDEX { snatOrigAddr }
        ::= { snatOrigTable 1 }

SnatOrigEntry ::= SEQUENCE {
        snatOrigEnabled                 INTEGER,
        snatOrigAddr                    IpAddress,
        snatOrigConnLimit               INTEGER,
        snatOrigTransAddr               IpAddress,
        snatOrigTcpIdleTimeout          Counter,
        snatOrigUdpIdleTimeout          Counter,
        snatOrigStatsZeroTime           Counter,
        snatOrigSecsCollectingStats     Counter,
        snatOrigBitsIn                  Counter,
        snatOrigBitsOut                 Counter,
        snatOrigPktsIn                  Counter,
        snatOrigPktsOut                 Counter,
        snatOrigCurrConns               INTEGER,
        snatOrigMaxConns                INTEGER,
        snatOrigTotalConns              Counter,
        snatOrigBitsInHi32              Counter,
        snatOrigBitsOutHi32             Counter,
        snatOrigPktsInHi32              Counter,
        snatOrigPktsOutHi32             Counter,
        snatOrigLastTransPort           INTEGER
}
        
snatOrigEnabled OBJECT-TYPE
        SYNTAX  INTEGER {
                true(1),
                false(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Is this OrigAddress enabled for SNAT?"
        ::= { snatOrigEntry 1 }

snatOrigAddr OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The ipaddress to the outside world for this SNAT."
        ::= { snatOrigEntry 2 }

snatOrigConnLimit OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The maximum number of connections through this snat."
        ::= { snatOrigEntry 3 }

snatOrigTransAddr OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The translation address corresponding to this
                original address."
        ::= { snatOrigEntry 4 }

snatOrigTcpIdleTimeout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The idle timeout for TCP connections though this snat."
        ::= { snatOrigEntry 5 }

snatOrigUdpIdleTimeout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The idle timeout for TCP connections though this snat."
        ::= { snatOrigEntry 6 }

snatOrigStatsZeroTime OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The time we started collecting
                 statistics for this port."
        ::= { snatOrigEntry 7 }

snatOrigSecsCollectingStats OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of seconds we have been collecting
                 statistics for this port."
        ::= { snatOrigEntry 8 }

snatOrigBitsIn OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "Total bits in for this SNAT."
        ::= { snatOrigEntry 9 }

snatOrigBitsOut OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "Total bits out for this SNAT."
        ::= { snatOrigEntry 10 }

snatOrigPktsIn OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "Total packets in for this SNAT."
        ::= { snatOrigEntry 11 }

snatOrigPktsOut OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "Total packets out for this SNAT."
        ::= { snatOrigEntry 12 }

snatOrigCurrConns OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The current number of connections for this SNAT."
        ::= { snatOrigEntry 13 }

snatOrigMaxConns OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The maximum number of connections this SNAT has
                had at any one time."
        ::= { snatOrigEntry 14 }

snatOrigTotalConns OBJECT-TYPE
        SYNTAX Counter 
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The total number of connections this SNAT has
                had since the SNAT started."

        ::= { snatOrigEntry 15 }

snatOrigBitsInHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The upper 32 bits of the total number of bits in for this SNAT."
        ::= { snatOrigEntry 16 }

snatOrigBitsOutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The upper 32 bits of the total number of bits out for this SNAT."
        ::= { snatOrigEntry 17 }

snatOrigPktsInHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The upper 32 bits of the total number of packets in for this SNAT."
        ::= { snatOrigEntry 18 }

snatOrigPktsOutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "The upper 32 bits of the total number of packets out for this SNAT."
        ::= { snatOrigEntry 19 }

snatOrigLastTransPort OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "Last translated port accessed using the SNAT."
        ::= { snatOrigEntry 20 }

--================================================================
-- General Load Balancer Scalars
--================================================================
uptime OBJECT-TYPE
        SYNTAX TimeTicks
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The uptime of this device -- not the uptime of the SNMP
                agent."
        ::= { loadbal 50 }

contot OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of connections this balancer has
                serviced."
        ::= { loadbal 51 }

concur OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of current connections."
        ::= { loadbal 52 }

conmax OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The maximum number of connections that this balancer
                has serviced at one time."
        ::= { loadbal 53 }

pktsin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total count of all packets read off the network."
        ::= { loadbal 54 }

pktsout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total count of all packets written to the network."
        ::= { loadbal 55 }

bitsin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of bits read off the network."
        ::= { loadbal 56 }

bitsout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total count of all bits written to the network."
        ::= { loadbal 57 }

portdeny OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The count of port denies that has occuried."
        ::= { loadbal 58 }

droppedin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The count of inbound packets that have been dropped."
        ::= { loadbal 59 }

droppedout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The count of outbound packets that have been dropped."
        ::= { loadbal 60 }

active OBJECT-TYPE
        SYNTAX INTEGER {
                standby (1),
                active (2) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "If this balancer in active or standby mode?"
        ::= { loadbal 61 }

mirrorenabled OBJECT-TYPE
        SYNTAX INTEGER {
                disabled (1),
                enabled (2) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Is mirroring enabled on this load balancer?"
        ::= { loadbal 62 }

resetcounters OBJECT-TYPE
        SYNTAX INTEGER {
                unreset(2),
                reset (1)
        }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Reset all load balancer counters."
        ::= { loadbal 63 }

pktsinHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total count of all packets read off the network."
        ::= { loadbal 64 }

pktsoutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total count of all packets written to the network."
        ::= { loadbal 65 }

bitsinHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of bits read off the network."
        ::= { loadbal 66 }

bitsoutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total count of all bits written to the network."
        ::= { loadbal 67 }

nodePing OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Node ping interval in seconds."
        ::= { loadbal 68 }

nodeTimeout OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Node timeout interval in seconds."
        ::= { loadbal 69 }

loadbalMode OBJECT-TYPE
        SYNTAX INTEGER {
                roundrobin(1),
                ratio(2),
                fastest(3),
                leastConn(4),
                predictive(5),
                observed(6),
                priority(7),
                ratioNodeAddress(8),
                priorityNodeAddress(9),
                leastConnNodeAddress(10)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The global load balance mode."
        ::= { loadbal 70 }

watchDogArmed OBJECT-TYPE
        SYNTAX INTEGER {
                armed(1), disarmed(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Watch dog card state."
        ::= { loadbal 71 }

snatConnLimit OBJECT-TYPE
        SYNTAX INTEGER 
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Number of simultaneous connections allowed through a SNAT."
        ::= { loadbal 72 }

snatTCPIdleTimeout OBJECT-TYPE
        SYNTAX INTEGER 
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Default connection timeout for SNAT TCP connections."
        ::= { loadbal 73 }

snatUDPIdleTimeout OBJECT-TYPE
        SYNTAX INTEGER 
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Default timeout for SNAT UDP connections."
        ::= { loadbal 74 }

gatewayFailsafe OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Is gateway failsafe pinging enabled."
        ::= { loadbal 75 }

unitId OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Unit id(s) for this load balancer."
        ::= { loadbal 76 }

memoryUsed OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Memory used by the load balancer kernal."
        ::= { loadbal 77 }
 
memoryTotal OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Total memory available to the load balancer kernal."
        ::= { loadbal 78 }

--================================================================
-- VADDRESS (Virtual Address) information
--================================================================
vaddressNumber OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of virtual address's present on this system."
        ::= { vaddress 1 }

vaddressTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VaddressEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A list of virtual address's entries. The number of
                entries is given by the value of vaddressNumber."
        ::= { vaddress 2 }

vaddressEntry OBJECT-TYPE
        SYNTAX VaddressEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A vaddress entry containing vaddress information."
        INDEX { vaddressIndex }
        ::= { vaddressTable 1 }

VaddressEntry ::=
        SEQUENCE {
                vaddressIndex           INTEGER (0..65535),
                vaddressDescr           DisplayString (SIZE (0..255)),
                vaddressIpAddr          IpAddress,
                vaddressPktsin          Counter,
                vaddressPktsout         Counter,
                vaddressBitsin          Counter,
                vaddressBitsout         Counter,
                vaddressConcur          INTEGER,
                vaddressConmax          INTEGER,
                vaddressConlimit        INTEGER,
                vaddressContot          Counter,
                vaddressStatus          INTEGER,
                vaddressPktsinHi32      Counter,
                vaddressPktsoutHi32     Counter,
                vaddressBitsinHi32      Counter,
                vaddressBitsoutHi32     Counter
        }

vaddressIndex OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "A unique value for each virtual address defined."
        ::= { vaddressEntry 1 }

vaddressDescr OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "A textual string describing the virtual address."
        ::= { vaddressEntry 2 }

vaddressIpAddr OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The IP address for this virtual address."
        ::= { vaddressEntry 3 }

vaddressPktsin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets in for this virtual address."
        ::= { vaddressEntry 4 }

vaddressPktsout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets out of this virtual address."
        ::= { vaddressEntry 5 }

vaddressBitsin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits in for this virtual address."
        ::= { vaddressEntry 6 }

vaddressBitsout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits out of this virtual address."
        ::= { vaddressEntry 7 }

vaddressConcur OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The current number of connections on this virtual
                address."
        ::= { vaddressEntry 8 }

vaddressConmax OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The maximum number of connections this virtual server
                has had open at any one time."
        ::= { vaddressEntry 9 }

vaddressConlimit OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of connections this virtual address
        can support at one time."
        ::= { vaddressEntry 10 }

vaddressContot OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of connections this virtual server
                has served since the server started."
        ::= { vaddressEntry 11 }

vaddressStatus OBJECT-TYPE
        SYNTAX INTEGER {
                ready(1),
                maintainance(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Status of this virtual address."
        ::= { vaddressEntry 12 }

vaddressPktsinHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets in for this virtual address."
        ::= { vaddressEntry 13 }

vaddressPktsoutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets out of this virtual address."
        ::= { vaddressEntry 14 }

vaddressBitsinHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits in for this virtual address."
        ::= { vaddressEntry 15 }

vaddressBitsoutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits out of this virtual address."
        ::= { vaddressEntry 16 }

--================================================================
-- NDADDR information
--================================================================
ndaddrNumber OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of ndaddrs present on this system."
        ::= { ndaddr 1 }

ndaddrTable OBJECT-TYPE
        SYNTAX SEQUENCE OF NdaddrEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A list of ndaddr entries. The number of entries is
                given by the value of ndaddrNumber."
        ::= { ndaddr 2 }

ndaddrEntry OBJECT-TYPE
        SYNTAX NdaddrEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A ndaddr entry containing ndaddr statitics."
        INDEX { ndaddrIndex }
        ::= { ndaddrTable 1 }

NdaddrEntry ::=
        SEQUENCE {
                ndaddrIndex     INTEGER (0..65535),
                ndaddrDescr     DisplayString (SIZE (0..255)),
                ndaddrIpAddr    IpAddress,
                ndaddrPktsin    Counter,
                ndaddrPktsout   Counter,
                ndaddrBitsin    Counter,
                ndaddrBitsout   Counter,
                ndaddrConcur    INTEGER,
                ndaddrConmax    INTEGER,
                ndaddrConlimit  INTEGER,
                ndaddrContot    Counter,
                ndaddrStatus    INTEGER,
                ndaddrPktsinHi32        Counter,
                ndaddrPktsoutHi32       Counter,
                ndaddrBitsinHi32        Counter,
                ndaddrBitsoutHi32       Counter,
                ndaddrMaintenance       INTEGER
        }

ndaddrIndex OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "A unique value for each ndaddr defined."
        ::= { ndaddrEntry 1 }

ndaddrDescr OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "A textual string describing the node address."
        ::= { ndaddrEntry 2 }

ndaddrIpAddr OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The Node address (IP Address)."
        ::= { ndaddrEntry 3 }

ndaddrPktsin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets in for this node address."
        ::= { ndaddrEntry 4 }

ndaddrPktsout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets out for this node address."
        ::= { ndaddrEntry 5 }

ndaddrBitsin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits in for this node address."
        ::= { ndaddrEntry 6 }

ndaddrBitsout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits out for this node address."
        ::= { ndaddrEntry 7 }

ndaddrConcur OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of current connections for this node
                address."
        ::= { ndaddrEntry 8 }

ndaddrConmax OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The maximum number of connections this node address
                has had oppen at one time."
        ::= { ndaddrEntry 9 }

ndaddrConlimit OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The maximum number of connections this node address
                is allowed to have open at one time."
        ::= { ndaddrEntry 10 }

ndaddrContot OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total connections that this node address had
                had."
        ::= { ndaddrEntry 11 }

ndaddrStatus OBJECT-TYPE
        SYNTAX INTEGER {
                up(1),
                down(2),
                invalid(3),
                valid(4),
                unchecked(6),
                unknown(7)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The status of this node address."
        ::= { ndaddrEntry 12 }

ndaddrPktsinHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets in for this node address."
        ::= { ndaddrEntry 13 }

ndaddrPktsoutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets out for this node address."
        ::= { ndaddrEntry 14 }

ndaddrBitsinHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits in for this node address."
        ::= { ndaddrEntry 15 }

ndaddrBitsoutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits out for this node address."
        ::= { ndaddrEntry 16 }

ndaddrMaintenance OBJECT-TYPE
        SYNTAX INTEGER {
                true(1),
                false(2)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Is this node address in maintenance mode."
        ::= { ndaddrEntry 17 }


--================================================================
-- NAT (Network Address Translation) information
--================================================================
natNumber OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of NATS present on this system."
        ::= { nat 1 }

natTable OBJECT-TYPE
        SYNTAX SEQUENCE OF NatEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A list of NAT entries. The number of
                entries is given by the value of natNumber."
        ::= { nat 2 }

natEntry OBJECT-TYPE
        SYNTAX NatEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A NAT entry containing information by nat."
        INDEX { natIndex }
        ::= { natTable 1 }

NatEntry ::=
        SEQUENCE {
                natIndex        INTEGER (0..65535),
                natDescr        DisplayString (SIZE (0..255)),
                natIpAddrFR     IpAddress,
                natIpAddrTO     IpAddress,
                natPktsin       Counter,
                natPktsout      Counter,
                natBitsin       Counter,
                natBitsout      Counter,
                natPktsinHi32   Counter,
                natPktsoutHi32  Counter,
                natBitsinHi32   Counter,
                natBitsoutHi32  Counter,
                natOutsideNetmask IpAddress,
                natOutsideBroadcast IpAddress,
                natInterface    DisplayString (SIZE (0..255)),
                natUnitId       INTEGER
        }

natIndex OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "A unique value for each NAT defined."
        ::= { natEntry 1 }

natDescr OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "A textual string describing the NAT."
        ::= { natEntry 2 }

natIpAddrFR OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The NAT's from IP Address."
        ::= { natEntry 3 }

natIpAddrTO OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The NAT's TO IP Address."
        ::= { natEntry 4 }

natPktsin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets in for this NAT."
        ::= { natEntry 5 }

natPktsout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets out for this NAT."
        ::= { natEntry 6 }

natBitsin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits in for this NAT."
        ::= { natEntry 7 }

natBitsout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits out for this NAT."
        ::= { natEntry 8 }

natPktsinHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets in for this NAT."
        ::= { natEntry 9 }

natPktsoutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets out for this NAT."
        ::= { natEntry 10 }

natBitsinHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits in for this NAT."
        ::= { natEntry 11 }

natBitsoutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits out for this NAT."
        ::= { natEntry 12 }

natOutsideNetmask OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The outside netmask for this NAT."
        ::= { natEntry 13 }

natOutsideBroadcast OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The outside broadcast address for this NAT."
        ::= { natEntry 14 }

natInterface OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The interface name for this NAT."
        ::= { natEntry 15 }

natUnitId OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The unit id associated with this NAT."
        ::= { natEntry 16 }

--================================================================
-- VPORT information
--================================================================
vportNumber OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of vports present on this system."
        ::= { vport 1 }

vportTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VportEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A list of vport entries. The number of
entries is given by the value of vportNumber."
        ::= { vport 2 }

vportEntry OBJECT-TYPE
        SYNTAX VportEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A vport entry containing vport statitics."
        INDEX { vportIndex }
        ::= { vportTable 1 }

VportEntry ::=
        SEQUENCE {
                vportIndex      INTEGER (0..65535),
                vportPort       INTEGER,
                vportDescr      DisplayString (SIZE (0..255)),
                vportPktsin     Counter,
                vportPktsout    Counter,
                vportBitsin     Counter,
                vportBitsout    Counter,
                vportConcur     INTEGER,
                vportConmax     INTEGER,
                vportConlimit   INTEGER,
                vportContot     Counter,
                vportReaped     Counter,
                vportPktsinHi32 Counter,
                vportPktsoutHi32        Counter,
                vportBitsinHi32 Counter,
                vportBitsoutHi32        Counter,
                vportAllowed    INTEGER,
                vportTCPpersistance     INTEGER,
                vportUDPpersistance     INTEGER
        }

vportIndex OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "A unique value for each virtual port defined."
        ::= { vportEntry 1 }

vportPort OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The Virutal port's port Number."
        ::= { vportEntry 2 }

vportDescr OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "A textual string describing the virtual port."
        ::= { vportEntry 3 }

vportPktsin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets in for this virtual port."
        ::= { vportEntry 4 }

vportPktsout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets out for this virtual port."
        ::= { vportEntry 5 }

vportBitsin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits in for this virtual port."
        ::= { vportEntry 6 }

vportBitsout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits out for this virtual port."
        ::= { vportEntry 7 }

vportConcur OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of current connections for this virtual
                port"
        ::= { vportEntry 8 }

vportConmax OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The maximum number of connections this virtual port
                has had open at any one time."
        ::= { vportEntry 9 }

vportConlimit OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The connection limit for this virtual port."
        ::= { vportEntry 10 }

vportContot OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of connections this virtual port
                has had open since the server started."
        ::= { vportEntry 11 }

vportReaped OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total connections reaped on this virtual port."
        ::= { vportEntry 12 }

vportPktsinHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets in for this virtual port."
        ::= { vportEntry 13 }

vportPktsoutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total packets out for this virtual port."
        ::= { vportEntry 14 }

vportBitsinHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits in for this virtual port."
        ::= { vportEntry 15 }

vportBitsoutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total bits out for this virtual port."
        ::= { vportEntry 16 }

vportAllowed OBJECT-TYPE
        SYNTAX INTEGER { allowed(1), disallowed(2) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "Is this port allowed."
        ::= { vportEntry 17 }

vportTCPpersistance OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "Number of seconds before TCP persistence
                expires for this virtual port."
        ::= { vportEntry 18 }

vportUDPpersistance OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION "Number of seconds before UDP persistence
                expires for this virtual port."
        ::= { vportEntry 19 }

--================================================================
-- MEMBER information
-- member information is indexed by Virtual Path and Ordinal Number
--================================================================

memberTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MemberEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A table containing balancer member information."
        ::= { member 2 }

memberEntry OBJECT-TYPE
        SYNTAX MemberEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "Information Specific to Members."
        INDEX { memberVirtualAddress, memberVirtualAddressPort, 
                memberOrdinal }
        ::= { memberTable 1 }

MemberEntry ::=
        SEQUENCE {
                memberVirtualAddress            IpAddress,
                memberVirtualAddressPort        INTEGER (0..65535),
                memberOrdinal                   INTEGER (0..65535),
                memberAddress                   IpAddress,
                memberPort                      INTEGER,
                memberStatus                    INTEGER,
                memberPktsin                    Counter,
                memberPktsout                   Counter,
                memberBitsin                    Counter,
                memberBitsout                   Counter,
                memberConcur                    INTEGER,
                memberConmax                    INTEGER,
                memberConlimit                  INTEGER,
                memberContot                    Counter,
                memberPktsinHi32                        Counter,
                memberPktsoutHi32                       Counter,
                memberBitsinHi32                        Counter,
                memberBitsoutHi32                       Counter
        }

memberVirtualAddress OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The virtual IP address."
        ::= { memberEntry 1 }

memberVirtualAddressPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The virtual IP address port."
        ::= { memberEntry 2 }

memberOrdinal OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The virtual IP address member ordinal number."
        ::= { memberEntry 3 }

memberAddress OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The node ip address for this member."
        ::= { memberEntry 4 }

memberPort OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The node port for this member."
        ::= { memberEntry 5 }

memberStatus OBJECT-TYPE
        SYNTAX INTEGER {
                up(1),
                down(2),
                invalid(3),
                maintainance(4),
                unchecked(5),
                unknown(6)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The status of this member."
        ::= { memberEntry 6 }

memberPktsin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The count of packets read off the network for
                this member."
        ::= { memberEntry 7 }

memberPktsout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The count of packets written to the network for
                this member."
        ::= { memberEntry 8 }

memberBitsin OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The count of bits read off the network for this
                member."
        ::= { memberEntry 9 }

memberBitsout OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The count of bits written to the network for
                this member."
        ::= { memberEntry 10 }

memberConcur OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of connections currently open for this
                member."
        ::= { memberEntry 11 }

memberConmax OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The maximum number of connections this member has had
                open at any one time."
        ::= { memberEntry 12 }

memberConlimit OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of connections this member can
                support at one time."
        ::= { memberEntry 13 }

memberContot OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The total number of connections this member has
                served since the server started."
        ::= { memberEntry 14 }

memberPktsinHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The count of packets read off the network for
                this member."
        ::= { memberEntry 15 }

memberPktsoutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The count of packets written to the network for
                this member."
        ::= { memberEntry 16 }

memberBitsinHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The count of bits read off the network for this
                member."
        ::= { memberEntry 17 }

memberBitsoutHi32 OBJECT-TYPE
        SYNTAX Counter
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The count of bits written to the network for
                this member."
        ::= { memberEntry 18 }

--================================================================
-- TRAP Information
--================================================================
loadBalTrapMisc TRAP-TYPE
        ENTERPRISE loadBalTraps
        DESCRIPTION
                "Uncatagorized trap."
        ::= 1
loadBalTrapServiceDown TRAP-TYPE
        ENTERPRISE loadBalTraps
        DESCRIPTION
                "Service Came Down."
        ::= 2
loadBalTrapServiceUP TRAP-TYPE
        ENTERPRISE loadBalTraps
        DESCRIPTION
                "Service Came Up."
        ::= 3
loadBalTrapReset TRAP-TYPE
        ENTERPRISE loadBalTraps
        DESCRIPTION
                "System Reset."
        ::= 4
loadBalTrapDenial TRAP-TYPE
        ENTERPRISE loadBalTraps
        DESCRIPTION
                "REQUEST DENIAL"
        ::= 5
loadBalTrapLogin TRAP-TYPE
        ENTERPRISE loadBalTraps
        DESCRIPTION
                "Root Login."
        ::= 6
loadBalTrapRemoveUnit TRAP-TYPE
        ENTERPRISE loadBalTraps
        DESCRIPTION
                "Removing unit. Potential failover of this load balancer."
        ::= 7 
loadBalTrapAddUnit TRAP-TYPE
        ENTERPRISE loadBalTraps
        DESCRIPTION
                "Adding unit. This load balancer has taken responsibility for a new unit id."
        ::= 8 

END

-- ################################################################################

--/* 
-- * $RCSfile: WAN-TRAP-MIB.mib,v $ - Wan blades enterprise MIB
-- *
-- * Copyright (c) 2000 by Optranet Networks Inc.
-- * 
-- * Revision control history
-- * ------------------------
-- * $Id: WAN-TRAP-MIB.mib,v 1.3 2005/09/22 22:19:49 scotth Exp $ $ProjectRevision: 1.85 $
-- *
-- * Extreme Networks modification history
-- * -------------------------------------
-- * $Log: WAN-TRAP-MIB.mib,v $
-- * Revision 1.3  2005/09/22 22:19:49  scotth
-- * Reviewer      : Self
-- * Regression    : None
-- * PD none : cvs update -d -jv1140b1 -jv1140b1-br-mckinley-2 exos (v1140b2)
-- * Merge to trunk
-- *
-- * Revision 1.2.32.1  2005/09/15 04:10:33  scotth
-- * Reviewer      : Self
-- * Regression    : None
-- * PD none : cvs update -d -jv1130b11-br-rushmore7-6 -jv1130b11-br-rushmore7-7 exos
-- * Merge to branch-mckinley_v1140b1
-- *
-- * Revision 1.2.14.1  2005/09/09 00:58:31  ykhan
-- * Reviewer      : Balaji
-- * Regression    : none
-- * PD3-42847181  : DOS to unix conversion, Removed 11111111 from BITS default value, Fixes the TRAP mib to compile on HPOV
-- *
-- * Revision 1.2  2005/07/14 17:51:38  scotth
-- * Reviewer      : Self
-- * Regression    : None
-- * PD none : cvs update -d -jv1130b4-br-rushmore6-3 -jv1130b4-br-rushmore6-4 exos (v1130b8)
-- *
-- * Revision 1.1.2.1  2005/07/14 04:39:39  ykhan
-- * Reviewer      : Abhay
-- * Regression    : SC_050713_140715
-- * PD3-39730771: This file has been implemented by EW but not Exos. To keep mib in sync this file has to present in exos tree.
-- *
-- * Revision 1.1  2005/01/25 02:03:49  bsrinivasan
-- * Added the MIBs from the Titan tree
-- *
-- * Revision 1.1  2003/06/07 01:14:43  rnagarajan
-- * - Added new wantrap.mib from Extremeware 7.1
-- *
-- * Revision 1.3  2003/02/06 22:56:36  rtp-build
-- * PD none: merge 802.1x and SNMPv3 feature into trunk (v710b9)
-- *
-- * Revision 1.2.10.3  2003/02/04 17:41:10  dcarson
-- * PD none: never use dash-dash in an SNMP commit comment
-- *
-- * Revision 1.2.10.2  2003/02/04 16:20:13  dcarson
-- * PD none: promotion of branch-802-1x-snmpv3_v710b6 to _v710b8 (phase one; has compile errors)
-- *
-- * Revision 1.1.6.1  2003/01/15 03:53:44  rsharma
-- * PD2-116204701 : promote 802.1x ,netlogin & snmpv3 merge from v710b0 -> v710b6
-- *
-- * Revision 1.1.2.1  2002/12/03 16:46:56  agidwani
-- * PD2-109134118: SNMPv3 merge
-- *
-- * Revision 1.2  2002/03/21 20:59:13  dcarson
-- * PD 1-C8KSX: merge ABU_v700b4 into trunk
-- *
-- * Revision 1.1.6.1  2002/03/12 06:25:59  dcarson
-- * PD 1-BGKRG: merge branch-ABU_v700b3 to branch-ABU_v700b4
-- *
-- * Revision 1.1.4.1  2002/03/11 20:29:42  dwade
-- * conflict resolution for branch-ABU_v700b3
-- *
-- * Revision 1.1.2.2  2002/03/08 22:11:08  vtseng
-- * Lilac merge
-- *
-- * Revision 1.1.2.1  2002/02/21 16:45:46  dwade
-- * ABU files added for branch branch-ABU-v700
-- *
-- * Revision 1.1.3.1  2001/12/14 02:08:17  dwade
-- * Tree v618b1060_abu
-- *
-- * Revision 1.1.3.1  2001/06/05 19:48:53  rrose
-- * Tree optra
-- *
-- * Revision 1.1.1.1  2001/03/13 00:04:55  bmonsen
-- * Imported from MKS
-- *
-- * Revision 1.3  2000/10/26 20:27:30Z  victort
-- * Added NoMasterClockLost trap
-- * Revision 1.1  2000/09/10 08:30:00  victort
-- * Initial revision
-- *
-- */

--
-- WAN Traps
--

WAN-TRAP-MIB DEFINITIONS ::= BEGIN

        IMPORTS
        extremenetworks, extremeAgent   FROM EXTREME-BASE-MIB
                sysUpTime, sysDescr             FROM RFC1213-MIB
                dsx1LineIndex, dsx1IfIndex,
        dsx1LineStatus                  FROM RFC1406-MIB
                dsx3LineIndex, dsx3IfIndex,
        dsx3LineStatus                  FROM RFC1407-MIB
        TRAP-TYPE                       FROM RFC-1215
        OBJECT-TYPE                     FROM SNMPv2-SMI;
--
-- Traps for WAN Blade
--
        wanDsx1LineStatusChange TRAP-TYPE
                ENTERPRISE  extremenetworks
                VARIABLES { sysUpTime,
                            sysDescr,
                            dsx1LineIndex,
                            dsx1IfIndex,
                    dsx1LineStatus }
                DESCRIPTION
                "Signifies that the DS1 line status change for 
                the specified interface has been detected."
        ::= 100
        
        wanDsx1LossOfMasterClock TRAP-TYPE
                ENTERPRISE  extremenetworks
                VARIABLES { sysUpTime,
                            sysDescr,
                    dsx1LineIndex,
                            dsx1IfIndex,
                    dsx1LineStatus }
                DESCRIPTION
                "Signifies that the wanDsx1LossOfMasterClock event for 
                the specified interface has been detected."
        ::= 101
        
        wanDsx1NoLossOfMasterClock TRAP-TYPE
                ENTERPRISE  extremenetworks
                VARIABLES { sysUpTime,
                            sysDescr,
                    dsx1LineIndex,
                            dsx1IfIndex,
                    dsx1LineStatus }
                DESCRIPTION
                "Signifies that the wanDsx1NoLossOfMasterClock event for 
                the specified interface has been detected."
        ::= 102
        
        wanDsx3LineStatusChange TRAP-TYPE
                ENTERPRISE  extremenetworks
                VARIABLES { sysUpTime,
                            sysDescr,
                            dsx3LineIndex,
                            dsx3IfIndex,
                    dsx3LineStatus }
                DESCRIPTION
                "Signifies that the T3 line status change for 
                the specified interface has been detected."
        ::= 103
        
        wanDsx3LossOfMasterClock TRAP-TYPE
                ENTERPRISE  extremenetworks
                VARIABLES { sysUpTime,
                            sysDescr,
                    dsx3LineIndex,
                            dsx3IfIndex,
                    dsx3LineStatus }
                DESCRIPTION
                "Signifies that the wanDsx3LossOfMasterClock event for 
                the specified interface has been detected."
        ::= 104
        
        wanDsx3NoLossOfMasterClock TRAP-TYPE
                ENTERPRISE  extremenetworks
                VARIABLES { sysUpTime,
                            sysDescr,
                    dsx3LineIndex,
                            dsx3IfIndex,
                    dsx3LineStatus }
                DESCRIPTION
                "Signifies that the wanDsx3NoLossOfMasterClock event for 
                the specified interface has been detected."
        ::= 105
        
        
END

-- ################################################################################

XEDIA-REG DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, enterprises, OBJECT-IDENTITY
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    ;

xedia OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "Xedia's node in the naming hierarchy as assigned by the
        Internet Assigned Numbers Authority (IANA)."
    ::= { enterprises 838 }

xediaRegistrations MODULE-IDENTITY
    LAST-UPDATED "9612202155Z" -- December 20, 1996
    ORGANIZATION "Xedia Corp."
    CONTACT-INFO
        "support@xedia.com"
    DESCRIPTION
        "This module defines the enterprises OID of Xedia and other
        company-wide definitions. The resulting top-level name space
        under the xedia branch looks like this:

        xedia
            (agentConfig       - an older MIB defined for MADswitch)
            xediaRegistrations - this module
            xediaMibs          - MIB modules defined in .mi2 files
            xediaClasses       - CLASS modules defined .mo files
            xediaProducts      - AGENT-CAPABILITIES modules defined 
                                 in .mi2 files

        This is where you reserve an OIDs for a MIB module. The values
        are defined in the appropriate .mi2/.mo files but are in
        comments here so that we can have one document under source
        control to reserve and catalog values."
    ::= { xedia 2 }

-- This is a MIB module defined for Xedia's first product, the MADswitch
-- agentConfig          OBJECT IDENTIFIER ::= { xedia 1 }

xediaMibs OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "A registration point under which all (new) Xedia MIB modules
        are defined."
    ::= { xedia 3 }

-- xediaSystemMIB           ::= { xediaMibs 1 }
-- xediaTrafficMgmtMIB      ::= { xediaMibs 2 }
-- xediaEthernetMIB         ::= { xediaMibs 3 }
-- xediaIpMIB               ::= { xediaMibs 4 }
-- xediaRipMIB              ::= { xediaMibs 5 }
-- xediaDriverMIB           ::= { xediaMibs 6 }
-- xediaHdlcMIB             ::= { xediaMibs 7 }
-- xediaSecurityMIB         ::= { xediaMibs 8 }
-- xediaBgpMIB              ::= { xediaMibs 9 }
-- xediaPolicyMIB           ::= { xediaMibs 10 }
-- xediaDs3MIB              ::= { xediaMibs 11 }
-- xediaAtmMIB              ::= { xediaMibs 12 }
-- xediaCronMib             ::= { xediaMibs 13 }
-- xediaIpsecMIB            ::= { xediaMibs 14 }
-- xediaIpBackupMIB         ::= { xediaMibs 15 }
-- xediaRadiusMib           ::= { xediaMibs 16 }
-- xediaAuthenticationMib   ::= { xediaMibs 17 }
-- xediaDs1MIB              ::= { xediaMibs 18 }
-- xediaFrameRelayMIB       ::= { xediaMibs 19 }
-- xediaPppSecMIB           ::= { xediaMibs 20 }
-- xediaPppMpMIB            ::= { xediaMibs 21 }
-- xediaSmdsMIB             ::= { xediaMibs 22 }
-- xediaNatMIB              ::= { xediaMibs 23 }
-- xediaPkiMIB              ::= { xediaMibs 24 }
-- xediaSonetMIB            ::= { xediaMibs 25 }
-- xediaNtpMIB              ::= { xediaMibs 26 }
-- xediaSlaMonitorMIB       ::= { xediaMibs 27 }
-- xediaDhcpMIB             ::= { xediaMibs 28 }
-- xediaIpMrouteMIB         ::= { xediaMibs 29 }
-- xediaL2DialMIB           ::= { xediaMibs 30 }
-- xediaPimMIB              ::= { xediaMibs 31 }
-- xediaDvmrpMIB            ::= { xediaMibs 32 }

xediaClasses OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "A registration point under which all Xedia CLASS definition
        modules are defined."
    ::= { xedia 4 }

-- xediaSystemClasses       ::= { xediaClasses 1 }
-- systemClasses            ::= { xediaClasses 2 }
-- raptorClasses            ::= { xediaClasses 3 }
-- ifClasses                ::= { xediaClasses 4 }
-- ipClasses                ::= { xediaClasses 5 }
-- udpClasses               ::= { xediaClasses 6 }
-- tcpClasses               ::= { xediaClasses 7 }
-- snmpClasses              ::= { xediaClasses 8 }
-- madSwitchClasses         ::= { xediaClasses 9 }
-- genAgentClasses          ::= { xediaClasses 10 }
-- rptrClasses              ::= { xediaClasses 11 }
-- bridgeClasses            ::= { xediaClasses 12 }
-- ethClasses               ::= { xediaClasses 13 }
-- xediaSystemClasses       ::= { xediaClasses 14 }
-- ipRouteClasses           ::= { xediaClasses 15 }
-- xediaSnmpCommClasses     ::= { xediaClasses 16 }
-- xediaTrafficMgmtClasses  ::= { xediaClasses 17 }
-- ripv2Classes             ::= { xediaClasses 18 }
-- ospfClasses              ::= { xediaClasses 19 }
-- ipAddrClasses            ::= { xediaClasses 20 }
-- frameRelayDteClasses     ::= { xediaClasses 21 }
-- ds3Classes               ::= { xediaClasses 22 }
-- usrHistoryClasses        ::= { xediaClasses 23 }
-- xediaDriverClasses       ::= { xediaClasses 24 }
-- xediaHdlcClasses         ::= { xediaClasses 25 }
-- bgp4Classes              ::= { xediaClasses 26 }
-- xediaSecurityClasses     ::= { xediaClasses 27 }
-- pppClasses               ::= { xediaClasses 28 }
-- xediaPolicyClasses       ::= { xediaClasses 29 }
-- t3Ds3Classes             ::= { xediaClasses 30 }
-- atmClasses               ::= { xediaClasses 31 }
-- ipoaClasses              ::= { xediaClasses 32 }
-- atmDs3Classes            ::= { xediaClasses 33 }
-- atmSonetClasses          ::= { xediaClasses 34 }
-- xediaCronClasses         ::= { xediaClasses 35 }
-- dnsResolverClasses       ::= { xediaClasses 36 }
-- xediaIpsecClasses        ::= { xediaClasses 37 }
-- xipbackupClasses         ::= { xediaClasses 38 }
-- xediaRadiusClasses       ::= { xediaClasses 39 }
-- xediaAuthenticationClasses ::= { xediaClasses 40 }
-- ds1Classes               ::= { xediaClasses 41 }
-- t1ds1Classes             ::= { xediaClasses 42 }
-- xediaFrameRelayClasses   ::= { xediaClasses 43 }
-- smdsClasses              ::= { xediaClasses 44 }
-- xediaPppSecClasses       ::= { xediaClasses 45 }
-- xediaPppMpClasses        ::= { xediaClasses 46 }
-- xediaNatClasses          ::= { xediaClasses 47 }
-- xediaPkiClasses          ::= { xediaClasses 48 }
-- xediaSonetClasses        ::= { xediaClasses 49 }
-- igmpClasses              ::= { xediaClasses 50 }
-- iptnlClasses             ::= { xediaClasses 51 }
-- xediaNtpClasses          ::= { xediaClasses 52 }
-- slaMonitorClasses        ::= { xediaClasses 53 }
-- xdhcpClasses             ::= { xediaClasses 54 }
-- ipMrouteClasses              ::= { xediaClasses 55 }
-- l2tpClasses                  ::= { xediaClasses 56 }
-- XediaMssiClasses         ::= { xediaClasses 57 }
-- dvmrpClasses             ::= { xediaClasses 58 }
-- xipMrouteClasses         ::= { xediaClasses 59 }
-- l2DialClasses            ::= { xediaClasses 60 }
-- pimClasses               ::= { xediaClasses 61 }
-- xediPimClasses           ::= { xediaClasses 62 }

xediaProducts OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "A registration point under which all Xedia AGENT-CAPABILITIES
        definitions (and therefore values of sysObjectId) are
        defined."
    ::= { xedia 5 }

-- xediaVelociraptor        ::= { xediaProducts 1 }
-- xediaVelociraptorMaj1    ::= { xediaVelociraptor 1 }
-- xediaVelociraptorMin0    ::= { xediaVelociraptorMaj1 0 }
-- xediaVelociraptorMin1    ::= { xediaVelociraptorMaj1 1 }
-- xediaVelociraptorMin2    ::= { xediaVelociraptorMaj1 2 }
-- xediaVelociraptorMin3    ::= { xediaVelociraptorMaj1 3 }

LongDisplayString ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A string that has the same properties as a DisplayString
        except it can be up to 2048 characters long."
    SYNTAX      OCTET STRING (SIZE (0..2048))

END





-- ################################################################################

-- Open issues:

--   o Do we need an Isolated parameter for a class? (see definition
--   of "isolated" in Floyd/Jacobson paper).

--   o Do we need the xtmUnsatisfied NOTIFICATION-TYPE (and associated
--   on/off configuration attribute?)

--   o What are the ranges, units and default values for MaxIdle,
--   OffTime, and MinIdle?

--   o Should we have a Counter64 version of xtmClassOutOctets?

--   o Are there any other class parameters that can't be modified
--   once the class is in use? (See the DESCRIPTION of xtmClassEntry.)

-- ================================================================

XEDIA-TRAFFIC-MGMT-MIB DEFINITIONS ::= BEGIN

IMPORTS 
    MODULE-IDENTITY, OBJECT-TYPE, Gauge32, Integer32, Counter32,
    NOTIFICATION-TYPE, IpAddress, Unsigned32
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, DisplayString, TruthValue, RowStatus
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    ifIndex
        FROM RFC1213-MIB
    xediaMibs
        FROM XEDIA-REG
    ;

xediaTrafficMgmtMIB MODULE-IDENTITY
    LAST-UPDATED "9705022155Z" -- May 2, 1997      
    ORGANIZATION "Xedia Corp."
    CONTACT-INFO
        "support@xedia.com"
    DESCRIPTION
        "This module defines objects for the management of Xedia's
        proprietary Traffic Management capability. This capability is
        based on Class-Based Queueing (CBQ).

        The purpose of the Xedia Traffic Management (xtm) function is
        to share access to an interface's bandwidth based on policies
        set up by the administrator."
    ::= { xediaMibs 2 }

-- ================================================================
-- Top-level organization of the MIB
-- ================================================================

xtmObjects          OBJECT IDENTIFIER ::= { xediaTrafficMgmtMIB 1 }
xtmNotifications    OBJECT IDENTIFIER ::= { xediaTrafficMgmtMIB 2 }
xtmConformance      OBJECT IDENTIFIER ::= { xediaTrafficMgmtMIB 3 }

-- ================================================================
-- Textual Conventions (datatypes)
-- ================================================================

-- Hack for pre-1902 compiler:
-- Unsigned32 ::= Gauge32

XtmIpAddress ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "1d."
    STATUS          current
    DESCRIPTION
        "An IPv4 or IPv6 address. The version can be inferred from
        length."
--    SYNTAX          OCTET STRING (SIZE (4 | 16))
    SYNTAX          IpAddress

XtmProtocol ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "The value of the IP Protocol field of an IP Datagram
        Header. This identifies the protocol layer above IP. For
        example, the value 6 is used for TCP and the value 17 is used
        for UDP.  The values of this field are defined in the Assigned
        Numbers RFC."
    SYNTAX          INTEGER {
                        any(0),
                        icmp(1),
                        tcp(6),
                        udp(17)
                    }

XtmPort ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "A UDP or TCP port value. The values of this field are defined
        in the Assigned Numbers RFC."
    SYNTAX          INTEGER {
                        any(0),
                        ftpData(20),
                        ftp(21),
                        telnet(23),
                        smtp(25),
                        domain(53),
                        bootps(67),
                        bootpc(68),
                        tftp(69),
                        gopher(70),
                        finger(79),
                        wwwHttp(80),
                        nntp(119),
                        ntp(123),
                        snmp(161),
                        snmpTrap(162),
                        bgp(179)
                    }

XtmBitRate ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "A data rate in bits/second."
    SYNTAX          Integer32 (0..'7FFFFFFF'h)

XtmTosOctet ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "1x"
    STATUS          current
    DESCRIPTION
        "A single hexidecimal octet used to specify a type-of-service 
        (TOS) value or mask."
    SYNTAX          OCTET STRING (SIZE (1))

XtmRange ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "A range of values.  A contiguous range may be specified
        using a dash (-).  Thus a contiguous range of integers may
        be expressed as 'lowValue-highValue', e.g. 5-10.  A discontiguous
        range may be specified using a comma (,) separated list.
        For example, '1,12,55'.  Contiguous and discontiguous ranges
        may be combined, as in '1,5-10,12,55'.

        When set, values are added to the existing XtmRange.  For 
        example, setting '100-200' to the existing range of '1,5-10,12,55'
        yields the value '1,5-10,12,55,100-200'.

        Values may be deleted from a list using the minus (-) symbol.
        For example, setting range consisting of '1,5-10,12,55,100-200'
        to '-55,-150' yields the range string '1,,5-10,12,100-149,151-200'.
        String values may be completely deleted by setting them to the
        NULL string.

        This textual-convention may be used on a variety of data types,
        including integers, integer enumerations, IpAddresses, and 
        OCTET STRINGs."
    SYNTAX          DisplayString


-- ================================================================
-- Object Definitions
-- ================================================================

--
-- The Interface Information Table
--


--
-- The Class Definition/Status Table
--

xtmClassTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XtmClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table is a 'flattened' version of a hierarchical class
        trees that specify the bandwidth allocation for the CBQ
        interfaces of the system.

        Each tree is rooted at an interface. A class may either be a
        leaf, meaning it has no children, or it may be an interior
        class which has children. As packets are forwarded out an
        interface, they are compared to the 'flow definition' of each
        class down the tree until a matching leaf is found or until
        all classes are traversed. Once a matching class is found, the
        packet is transmitted or not based on the constraints
        configured for the class, most importantly the allocated
        bandwidth as identified by xtmClassRate. If no matching class
        is found, the packet is dropped.

        The 'flow definition' for a class can be defined based on
        inclusive ranges of the following packet fields:
            o Source IP Address (or a domain name)
            o Destination IP Address (or a domain name)
            o Protocol above layer 3 (e.g., UDP, TCP, ICMP, etc.)
            o Source Port (which identifies service, e.g., FTP,
              Telnet, SMTP, etc.)
            o Destination Port

        It is important that packets only match zero or one traffic
        class. In order for this to be true, certain rules must be
        enforced when classes are defined. Specifically, all 'sibling'
        classes must be defined using the same criteria. Also,
        children must use criteria not already specified by one of
        their ancestors or they must specify a subrange of an already
        specified criteria. Therefore, this tree would be legal:

        interface 1
            subnet A
                protocol UDP
                    port SNMP
                protocol TCP
            subnet B

        But this tree would be illegal:

        interface 2
            subnet A
                subnet B (illegal -- not subrange of parent)
            protocol TCP (illegal -- different criteria than sibling)" 
    ::= { xtmObjects 2 }

xtmClassEntry OBJECT-TYPE
    SYNTAX      XtmClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a single traffic class. Traffic classes are
        identified by their associated interface's ifIndex and their
        name. (Which means class names must be unique for a particular
        interface.)

        Traffic classes can be created and destroyed using this
        table's xtmClassRowStatus object. A class cannot be used by
        the run-time system (xtmClassRowStatus = 'active(1)') if it
        does not follow the rules listed in the DESCRIPTION of the
        previous object. In this case, the xtmClassRowStatus will
        remain 'notReady(3)' and the xtmClassOperStatus will be
        'downConflict(3)'.

        Also, in order to become active, the user must have specified
        a valid value for xtmClassParent and xtmClassRate. All other
        settable objects may be left at their default values.

        Finally, the following objects cannot be modified once the row
        is active: xtmClassParent, and xtmClassQueueElasticityFactor."
    INDEX { ifIndex, xtmClassName }
    ::= { xtmClassTable 1 }

XtmClassEntry ::= SEQUENCE {
    xtmClassName                    DisplayString,
    xtmClassParent                  DisplayString,

    -- Configuration Parameters
    xtmClassRate                    XtmBitRate,
    xtmClassBounded                 TruthValue,
    xtmClassPriority                Integer32,

    -- Status        
        
    xtmClassOperStatus              INTEGER,
    xtmClassOperMsg                 DisplayString,
    xtmClassBwUse                   INTEGER,
    xtmClassUnsatisfied             TruthValue,
    xtmClassQueueSize               Gauge32,
    xtmClassRowStatus               RowStatus,

    -- Max Bandwidth 

    xtmClassMaxRate                 XtmBitRate,

    -- AutoClass


    xtmClassPeerClassificationOrder Integer32,
    -- New "Flow" definition.

    xtmClassSrcIpAddresses          XtmRange,
    xtmClassDestIpAddresses         XtmRange,
    xtmClassSrcPorts                XtmRange,
    xtmClassDestPorts               XtmRange,
    xtmClassProtocols               XtmRange,
    xtmClassApplications            XtmRange,
    xtmClassClassificationTos       XtmRange,
    xtmClassSrcDomainNames          XtmRange,
    xtmClassDestDomainNames         XtmRange,
    xtmClassOperator                INTEGER

}

xtmClassName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (1..64))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A user-defined name for the traffic class. This is the unique
        identifier for the class within the scope of the
        interface. For example, the class that defines the IP address
        range for a particular customer might be 'Customer Fred Co.'"
    ::= { xtmClassEntry 1 }

xtmClassParent OBJECT-TYPE          
    SYNTAX      DisplayString (SIZE (1..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object will have one of the following values:
            - the value of xtmClassName for the parent class in the
              hierarchy,
            - the value 'interface' if the class is directly under
              the interface, which is the root of the tree, or
            - the value 'orphan' if the class is defined but not yet
              inserted into the tree.

        If a parent name is specified, the row cannot become active
        (have its xtmClassRowStatus set to 'active(1)' unless the
        parent is valid and is itself active.

        Note that an interface may have several traffic classes with
        an xtmClassParent of 'interface'.

        Note also that an 'orphan' class cannot become 'active(1)' -
        it must first have a valid parent specified."
    DEFVAL      { "interface" }
    ::= { xtmClassEntry 2 }



xtmClassRate OBJECT-TYPE      
    SYNTAX      XtmBitRate
    UNITS       "bits per second"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A fraction of the bandwidth of the root interface to be
        allocated to this traffic class. Note that specifying 0
        bits/second effectively filters all traffic that matches this
        class' flow specification. Also note that the sum of bit rates
        for all classes defined under the same class must be less
        than or equal to xtmClassRate of the parent."
    DEFVAL      { 0 }
    ::= { xtmClassEntry 13 }

xtmClassBounded OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of this object is 'true(1)' if the class is bounded
        (can't 'borrow' bandwidth from its parent class) and
        'false(2)' otherwise."
    DEFVAL      { false }
    ::= { xtmClassEntry 14 }

xtmClassPriority OBJECT-TYPE        
    SYNTAX      Integer32 (0..7)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The priority for this class. The smaller the value, the
        higher the priority. Delay-sensitive flows (such as video or
        audio) should be given higher priority values."
    DEFVAL      { 3 }
    ::= { xtmClassEntry 15 }


xtmClassOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    up(1),
                    down(2),
                    downConflict(3),
                    autoClassActive(4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The actual operational status of the traffic class. The value
        'up(1)' means this traffic class is in use, the value
        'down(2)' indicates the traffic class is not in use either due
        to an internal problem or because it (or an ancestor) is
        administratively disabled, and the value 'downConflict(3)'
        indicates the class definition conflicts with those of its
        siblings. The value autoClassActive(4) means that the class is
        a dynamically created AutoClass, which may not be modified in any
        way until it is saved to Non-Volatile configuration memory. 
        After an AutoClass is saved to NVRAM, it's operational status 
        will transistion to up(1)."
    ::= { xtmClassEntry 22 }
                    
xtmClassOperMsg OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational message associated with the operational
        status.  The message usually provides additional information
        that may not be obvious through the operational status."
    ::= { xtmClassEntry 23 }
                    
xtmClassBwUse OBJECT-TYPE     
    SYNTAX      INTEGER {
                    atLimit(1),
                    underLimit(2),
                    overLimit(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An indication of whether this traffic class has used its
        allocated bandwidth (as indicated by xtmClassPercent), has not
        used its allocated bandwidth or has used more than its
        allocated bandwidth and is therefore 'atLimit(1)',
        'underLimit(2)', or 'overLimit(3)' respectively."
    ::= { xtmClassEntry 24 }

xtmClassUnsatisfied OBJECT-TYPE       
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An indication of whether this traffic class is
        'unsatisfied'. The value of this object is 'true(1)' if it is
        underLimit and has a persistent backlog, meaning it has
        packets waiting in its queue. The value is 'false(1)'
        otherwise. Note that a class can be considered satisfied if it
        is underLimit and it just hasn't had anything to transmit. 

        The presence of an unsatisfied class indicates that some other
        class is overLimit and 'hogging' bandwidth. Persistently
        unsatisfied classes indicate that tuning some of the
        parameters (such as xtmClassMaxIdle or xtmClassBounded) may be
        necessary."
    ::= { xtmClassEntry 25 }

xtmClassQueueSize OBJECT-TYPE       
    SYNTAX      Gauge32 (0..2048)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The size of the queue associated with this traffic
        class. This is the maximum number of packets that can be in
        the queue, not the number that are currently queued (see
        xtmClassStatsQueuedPkts)."
    ::= { xtmClassEntry 26 }

xtmClassRowStatus OBJECT-TYPE       
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Traffic classes are created and delected using this object
        (using the conventions described in RFC1903)."
    ::= { xtmClassEntry 27 }

xtmClassMaxRate OBJECT-TYPE      
    SYNTAX      XtmBitRate
    UNITS       "bits per second"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The maximum bandwidth the class may achieve, including
        bandwidth allocated to this class, and any bandwidth that
        may be borrowed. A value of zero (0) indicates that this
        feature is not being used. The xtmClassMaxRate must be set 
        to a value higher than the xtmClassRate, but may also exceed
        the parent class's xtmClassRate."
    DEFVAL      { 0 }
    ::= { xtmClassEntry 28 }

xtmClassPeerClassificationOrder OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A positive integer representing the classification order 
        of peers within the classification hierarchy.  For example,
        when creating three children under the 'root' class the
        packet classifier checks incoming packets againts classification
        parameters from left to right in the order in which the children
        were created.  Each peer (aka 'sibling') is assigned an xtmClass-
        PeerClassificationOrder of 100 by default, as shown below.

                            +_______+
                            | root  |
                            | class |
                            +_______+
                           /    |    \
                          /     |     \
                         /      |      \
                        /       |       \
                       /        |        \
                      /         |         \
                 +_______+  +_______+  +_______+
                 |   A   |  |   B   |  |   C   |
                 | class |  | class |  | class |
                 |  100  |  |  100  |  |  100  | (peer classification order)
                 +_______+  +_______+  +_______+

        In the figure above, classification order proceeds from A to B
        to C.  In order to alter this order, this object may be modified.
        For example, to change the order to C, B A one might assign
        an xtmClassPeerClassificationOrder of 50 to class C, and an
        xtmClassPeerClassificationOrder of 150 to class A, resulting in
        the ordered tree shown below.

                            +_______+
                            | root  |
                            | class |
                            +_______+
                           /    |    \
                          /     |     \
                         /      |      \
                        /       |       \
                       /        |        \
                      /         |         \
                 +_______+  +_______+  +_______+
                 |   C   |  |   B   |  |   A   |
                 | class |  | class |  | class |
                 |   50  |  |  100  |  |  150  | (peer classification order)
                 +_______+  +_______+  +_______+

        "
    DEFVAL      { 100 }
    ::= { xtmClassEntry 44 }


xtmClassSrcIpAddresses OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The range of IP source addresses that match this class. 
        An all zeros value means 'any source address'."
    ::= { xtmClassEntry 45 }

xtmClassDestIpAddresses OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The range of IP destination addresses that match this class. 
        An all zeros value means 'any destination address'."
    ::= { xtmClassEntry 46 }

xtmClassProtocols OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The range of IP protocols that match this class. The value '0' 
        'any protocol'.

        Numeric strings, character strings, and combinations of the two
        may be used. Valid strings include:

        Numeric String       Character String
        ______________       ________________
              1              icmp
              6              tcp
             17              udp
             89              ospf
        "
    ::= { xtmClassEntry 47 }

xtmClassSrcPorts OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The range of UDP or TCP source ports that match this class. 
        The value '0' 'any port'.

        Numeric strings, character strings, and combinations of the two
        may be used. Valid strings include, but are not limited to the
        following:

        Numeric String       Character String
        ______________       ________________
             20              ftpdata
             21              ftp
             23              telnet
             25              smtp
             53              domain
             67              bootps
             68              bootpc
             69              tftp
             70              gopher
             79              finger
             80              http
            119              nntp
            123              ntp
            161              snmp
            162              snmptrap
            179              bgp
        "
    ::= { xtmClassEntry 48 }

xtmClassDestPorts OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The range of UDP or TCP destination ports that match this class. 
        The value '0' 'any port'.

        Numeric strings, character strings, and combinations of the two
        may be used. Valid strings include, but are not limited to the
        following:

        Numeric String       Character String
        ______________       ________________
             20              ftp_data
             21              ftp
             23              telnet
             25              smtp
             53              domain
             67              bootps
             68              bootpc
             69              tftp
             70              gopher
             79              finger
             80              http
            119              nntp
            123              ntp
            161              snmp
            162              snmptrap
            179              bgp
        "
    ::= { xtmClassEntry 49 }

xtmClassApplications OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The application level protocol of the class.

        Application classification allows you to classify based on the
        application level protocol.  Each application has a corresponding
        'Established' enumeration which specifies that communication can 
        not be initiated through this class.  For example, 'telnetEstablished'
        specifies that telnet connections can not pass through this class.
        'Established' enumerations provide stateful firewall capabily.  For
        example, in the following configuration, telnet configurations can
        only be initiated from Host B.  Host A can not initiate a telnet
        connection.
                    +__________________________________+
                    |                                  |
        Host A _____| telnet class    telnetEstablished|_____ Host B
                    | on cbq.1        class on cbq.2   |
                    +__________________________________+

        Numeric strings, character strings, and combinations of the two
        may be used. Valid strings include the following:

        Numeric String       Character String
        ______________       ________________
              1              allTcp
              2              allTcpEstablished
              3              allUdp
              4              allUdpEstablished
              5              ftp
              6              ftpEstablished
              7              telnet
              8              telnetEstablished
              9              http
             10              httpEstablished
             11              dns
             12              dnsEstablished
             13              tftp
             14              tftpEstablished
             15              snmp
             16              snmpEstablished
             17              httpSSL
             18              httpSSLEstablished
             19              smtp
             20              smtpEstablished
             21              bgp
             22              bgpEstablished
             23              slaProbe
             24              slaProbeEstablished
        "
    ::= { xtmClassEntry 50 }

xtmClassClassificationTos OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The range of IPv4 Tos Octet values that match this class."
    ::= { xtmClassEntry 51 }

xtmClassSrcDomainNames OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A list of domain names which are to be dynamically included
        in the range of source IP addresses."
    ::= { xtmClassEntry 52 }

xtmClassDestDomainNames OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A list of domain names which are to be dynamically included
        in the range of destination IP addresses."
    ::= { xtmClassEntry 53 }

xtmClassOperator OBJECT-TYPE
    SYNTAX      INTEGER {
                    and(1),
                    or(2)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "An operator applied to all classification parameters of this
        class.  A value of 'and' indicates that packets must match all 
        classification parameters specified by the class in order to
        be classified within the class.  A value of 'or' indicates that
        packets must match any one of the configured classification
        parameters specified by the class in order to be classified 
        within the class.

        For example, consider a class with classification parameters 
        xtmClassSrcIpAddresses of '198.202.232.10' and xtmClassProtocol 
        of 'udp'.

        When xtmClassOperator is 'and', packets with IP source addresses
        of 198.202.232.10 and IP protocol of udp are classified within
        this class.  Whe xtmClassOperator is 'or', packets with IP source
        addresses of 198.202.232.10 or IP protocol or udp are classified
        within this class."
    DEFVAL      { and }
    ::= { xtmClassEntry 54 }



END